IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Problème java.sql.SQLException: Column not found


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2014
    Messages : 30
    Points : 19
    Points
    19
    Par défaut Problème java.sql.SQLException: Column not found
    je n'arrive pas à résoudre cette exception et je ne sais même pas la cause
    java.sql.SQLException: Column 'SELECT * FROM réservations WHERE ID_client = 'user123'' not found.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    		        Connexion c=new Connexion();
    			Connection conn=null;
    			Statement stat=null;
                            ResultSet res=null;
     
    try {
     
    	    c.Connexion();
                conn=c.getConnect();
    	    String sql1= "SELECT * FROM réservations WHERE ID_client = '"+ "user123" + "'";
     
                stat= (Statement) conn.createStatement();
                res = stat.executeQuery(sql1);
     
               }
    catch (Exception e1) {
                System.out.println(e1);
                }}

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Tu nous a mis vraiment tout le code là ?

    Si tu remplaces

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    catch (Exception e1) {
        System.out.println(e1);
    }}
    Par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    catch (Exception e1) {
        e1.printStackTrace();
    }}
    qu'est-ce que ça t'affiche ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2014
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    voilà le code entier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    package java2015;
     
    import java.awt.BorderLayout;
    import java.awt.EventQueue;
     
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.DefaultListModel;
    import javax.swing.GroupLayout;
    import javax.swing.GroupLayout.Alignment;
    import javax.swing.JTextArea;
    import javax.swing.JButton;
    import javax.swing.LayoutStyle.ComponentPlacement;
    import javax.swing.JList;
    import javax.swing.border.LineBorder;
     
    import com.mysql.jdbc.Connection;
    import com.mysql.jdbc.Statement;
     
    import java.awt.Color;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import java.sql.ResultSet;
     
    public class ResultatRechercheReservation extends JFrame {
     
    	private JPanel contentPane;
    	static JTextArea textArea = new JTextArea();
    	static String sql;
    	JList list;
    	DefaultListModel<String> model;
    	String code;
     
    	/**
             * Launch the application.
             */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					ResultatRechercheReservation frame = new ResultatRechercheReservation();
    					frame.setVisible(true);
     
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
     
    	/**
             * Create the frame.
             */
    	public ResultatRechercheReservation() {
     
     
    		GroupLayout groupLayout = new GroupLayout(getContentPane());
    		groupLayout.setHorizontalGroup(
    			groupLayout.createParallelGroup(Alignment.LEADING)
    				.addComponent(textArea, GroupLayout.DEFAULT_SIZE, 434, Short.MAX_VALUE)
    		);
    		groupLayout.setVerticalGroup(
    			groupLayout.createParallelGroup(Alignment.LEADING)
    				.addComponent(textArea, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
    		);
    		getContentPane().setLayout(groupLayout);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 450, 300);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
     
    		    Connexion c=new Connexion();
    			Connection conn=null;
    			Statement stat=null;
    			ResultSet res=null;
    			String str= AuthentificationClient.idActuel();
                System.out.println("str="+str);
     
    		try {
     
    			c.Connexion();
    			conn=c.getConnect();
    			String sql1= "SELECT * FROM réservations WHERE ID_client = '"+ "ici22" + "'";
     
                stat= (Statement) conn.createStatement();
                res = stat.executeQuery(sql1);
     
               }
                catch (Exception e1) {
                	e1.printStackTrace();
                }
     
    		JButton btnNewButton = new JButton("R\u00E9server");
    		btnNewButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
     
     
     
    			}
    		});
     
     
    		list.setBorder(new LineBorder(new Color(34, 139, 34)));
    		GroupLayout gl_contentPane = new GroupLayout(contentPane);
    		gl_contentPane.setHorizontalGroup(
    			gl_contentPane.createParallelGroup(Alignment.LEADING)
    				.addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup()
    					.addGap(179)
    					.addComponent(btnNewButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    					.addGap(168))
    				.addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup()
    					.addGap(5)
    					.addComponent(list, GroupLayout.DEFAULT_SIZE, 424, Short.MAX_VALUE)
    					.addContainerGap())
    		);
    		gl_contentPane.setVerticalGroup(
    			gl_contentPane.createParallelGroup(Alignment.LEADING)
    				.addGroup(gl_contentPane.createSequentialGroup()
    					.addContainerGap()
    					.addComponent(list, GroupLayout.PREFERRED_SIZE, 218, GroupLayout.PREFERRED_SIZE)
    					.addPreferredGap(ComponentPlacement.RELATED)
    					.addComponent(btnNewButton)
    					.addGap(5))
    		);
    		contentPane.setLayout(gl_contentPane);
    }
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                catch (Exception e1) {
                	e1.printStackTrace();
                }
    donne:
    java.sql.SQLException: Column 'SELECT * FROM réservations WHERE ID_client = 'ici22'' not found.
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1056)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
    at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1080)
    at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5474)
    at java2015.ResultatRechercheReservation.<init>(ResultatRechercheReservation.java:94)
    at java2015.ResultatRechercheReservation$1.run(ResultatRechercheReservation.java:42)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$200(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Il faudrait aussi le code de la classe Connexion
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    res = stat.executeQuery(sql1);
     
    System.out.println("requete="+res);
     
    model = new DefaultListModel<String>();
    list = new JList(model);
    model.addElement(res.getString(sql1));
    Le paramètre de res.getString(), quand il est de type String, est le nom de la colonne : ici, tu lui passes sql1 qui contient la requête tout entière, donc c'est normal que tu aies le message d'erreur qui te dit que la requête tout entière n'est pas un nom de colonne connue.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2014
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    package java2015;
     
    import java.sql.DriverManager;
    import java.sql.ResultSet;
     
    import com.mysql.jdbc.Connection;
    import com.mysql.jdbc.Statement;
     
    public class Connexion {
     
    	public static Connection cnx;
     
    	public void Connexion(){
    			try
    			 {
    			Class.forName("com.mysql.jdbc.Driver");
    			 }
    			catch(Exception ex)
    			 { 
    			System.out.print("Erreur de Chargement");
    			System.exit(0);
    			 }
    			try
    			 {
    			String url = "jdbc:mysql://localhost:3306/gestion_aeroport";
    			String user = "root";
    			String passwd = "";
     
    			cnx = (Connection) DriverManager.getConnection(url, user, passwd);
    			System.out.println("connexion établie");
    			 }
    			catch(Exception ex)
    			 {
    			   System.out.print("Erreur de connexion à la BD !!! ");
    			 }
    	}
    			public Connection getConnect()
    			{
    			return cnx;
    			}
     
    			public void DeconnexionBD()
    			{
    			try {
    			cnx.close();
    			}
    			catch(Exception ex) {
    			System.out.print("Déconnexion impossible");
    			}
    		}
     
    }

  7. #7
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 797
    Points
    4 797
    Par défaut
    C'est là où ça cloche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    model.addElement(res.getString(sql1));
    c'est l'équivalent de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    model.addElement(res.getString("SELECT * FROM réservations WHERE ID_client = '"+ "user123" + "'"));
    tu as demandé une requête à la place du nom de la colonne

    EDIT : grillé par Joël
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2014
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    res = stat.executeQuery(sql1);
     
    System.out.println("requete="+res);
     
    model = new DefaultListModel<String>();
    list = new JList(model);
    model.addElement(res.getString(sql1));
    Le paramètre de res.getString(), quand il est de type String, est le nom de la colonne : ici, tu lui passes sql1 qui contient la requête tout entière, donc c'est normal que tu aies le message d'erreur qui te dit que la requête tout entière n'est pas un nom de colonne connue.
    même en supprimant ce morceau ça ne va pas marché
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    package java2015;
     
    import java.awt.BorderLayout;
    import java.awt.EventQueue;
     
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.DefaultListModel;
    import javax.swing.GroupLayout;
    import javax.swing.GroupLayout.Alignment;
    import javax.swing.JTextArea;
    import javax.swing.JButton;
    import javax.swing.LayoutStyle.ComponentPlacement;
    import javax.swing.JList;
    import javax.swing.border.LineBorder;
     
    import com.mysql.jdbc.Connection;
    import com.mysql.jdbc.Statement;
     
    import java.awt.Color;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import java.sql.ResultSet;
     
    public class ResultatRechercheReservation extends JFrame {
     
    	private JPanel contentPane;
    	static JTextArea textArea = new JTextArea();
    	static String sql;
    	JList list;
    	DefaultListModel<String> model;
    	String code;
     
    	/**
             * Launch the application.
             */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					ResultatRechercheReservation frame = new ResultatRechercheReservation();
    					frame.setVisible(true);
     
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
     
    	/**
             * Create the frame.
             */
    	public ResultatRechercheReservation() {
     
     
    		GroupLayout groupLayout = new GroupLayout(getContentPane());
    		groupLayout.setHorizontalGroup(
    			groupLayout.createParallelGroup(Alignment.LEADING)
    				.addComponent(textArea, GroupLayout.DEFAULT_SIZE, 434, Short.MAX_VALUE)
    		);
    		groupLayout.setVerticalGroup(
    			groupLayout.createParallelGroup(Alignment.LEADING)
    				.addComponent(textArea, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
    		);
    		getContentPane().setLayout(groupLayout);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 450, 300);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
     
    		    Connexion c=new Connexion();
    			Connection conn=null;
    			Statement stat=null;
    			ResultSet res=null;
    			String str= AuthentificationClient.idActuel();
                System.out.println("str="+str);
     
    		try {
     
    			c.Connexion();
    			conn=c.getConnect();
    			String sql1= "SELECT * FROM réservations WHERE ID_client = '"+ "ici22" + "'";
     
                stat= (Statement) conn.createStatement();
                res = stat.executeQuery(sql1);
     
               }
                catch (Exception e1) {
                	e1.printStackTrace();
                }
     
    		JButton btnNewButton = new JButton("R\u00E9server");
    		btnNewButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
     
     
     
    			}
    		});
     
     
    		list.setBorder(new LineBorder(new Color(34, 139, 34)));
    		GroupLayout gl_contentPane = new GroupLayout(contentPane);
    		gl_contentPane.setHorizontalGroup(
    			gl_contentPane.createParallelGroup(Alignment.LEADING)
    				.addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup()
    					.addGap(179)
    					.addComponent(btnNewButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    					.addGap(168))
    				.addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup()
    					.addGap(5)
    					.addComponent(list, GroupLayout.DEFAULT_SIZE, 424, Short.MAX_VALUE)
    					.addContainerGap())
    		);
    		gl_contentPane.setVerticalGroup(
    			gl_contentPane.createParallelGroup(Alignment.LEADING)
    				.addGroup(gl_contentPane.createSequentialGroup()
    					.addContainerGap()
    					.addComponent(list, GroupLayout.PREFERRED_SIZE, 218, GroupLayout.PREFERRED_SIZE)
    					.addPreferredGap(ComponentPlacement.RELATED)
    					.addComponent(btnNewButton)
    					.addGap(5))
    		);
    		contentPane.setLayout(gl_contentPane);
    }
     
    }

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2014
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    C'est là où ça cloche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    model.addElement(res.getString(sql1));
    c'est l'équivalent de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    model.addElement(res.getString("SELECT * FROM réservations WHERE ID_client = '"+ "user123" + "'"));
    tu as demandé une requête à la place du nom de la colonne

    EDIT : grillé par Joël
    c'est plutôt là le problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      String sql1= "SELECT * FROM réservations WHERE ID_client = '"+ "ici22" + "'";
     
                stat= (Statement) conn.createStatement();
                res = stat.executeQuery(sql1);
    même en supprimment
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                model = new DefaultListModel<String>();
                list = new JList(model);
                model.addElement(res.getString(sql1));
    l'exception persiste

  10. #10
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 797
    Points
    4 797
    Par défaut
    res est un ResultSet si je ne me trompe pas
    donc pour demander la valeur d'une colonne il ne faut pas écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                model.addElement(res.getString(sql1));
    mais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                model.addElement(res.getString("MaColonne"));
    Regarde la doc de getString
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2014
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    res est un ResultSet si je ne me trompe pas
    donc pour demander la valeur d'une colonne il ne faut pas écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                model.addElement(res.getString(sql1));
    mais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                model.addElement(res.getString("MaColonne"));
    Regarde la doc de getString
    Monsieur! voici le code qui m'affiche l'exception:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    package java2015;
     
    import java.awt.BorderLayout;
    import java.awt.EventQueue;
     
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.DefaultListModel;
    import javax.swing.GroupLayout;
    import javax.swing.GroupLayout.Alignment;
    import javax.swing.JTextArea;
    import javax.swing.JButton;
    import javax.swing.LayoutStyle.ComponentPlacement;
    import javax.swing.JList;
    import javax.swing.border.LineBorder;
     
    import com.mysql.jdbc.Connection;
    import com.mysql.jdbc.Statement;
     
    import java.awt.Color;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import java.sql.ResultSet;
     
    public class ResultatRechercheReservation extends JFrame {
     
    	private JPanel contentPane;
    	static JTextArea textArea = new JTextArea();
    	static String sql;
    	JList list;
    	DefaultListModel<String> model;
    	String code;
     
    	/**
             * Launch the application.
             */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					ResultatRechercheReservation frame = new ResultatRechercheReservation();
    					frame.setVisible(true);
     
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
     
    	/**
             * Create the frame.
             */
    	public ResultatRechercheReservation() {
     
     
    		GroupLayout groupLayout = new GroupLayout(getContentPane());
    		groupLayout.setHorizontalGroup(
    			groupLayout.createParallelGroup(Alignment.LEADING)
    				.addComponent(textArea, GroupLayout.DEFAULT_SIZE, 434, Short.MAX_VALUE)
    		);
    		groupLayout.setVerticalGroup(
    			groupLayout.createParallelGroup(Alignment.LEADING)
    				.addComponent(textArea, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
    		);
    		getContentPane().setLayout(groupLayout);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 450, 300);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
     
    		    Connexion c=new Connexion();
    			Connection conn=null;
    			Statement stat=null;
    			ResultSet res=null;
    			String str= AuthentificationClient.idActuel();
                System.out.println("str="+str);
     
    		try {
     
    			c.Connexion();
    			conn=c.getConnect();
    			String sql1= "SELECT * FROM réservations WHERE ID_client = '"+ "ici22" + "'";
     
                stat= (Statement) conn.createStatement();
                res = stat.executeQuery(sql1);
     
               }
                catch (Exception e1) {
                	e1.printStackTrace();
                }
     
    		JButton btnNewButton = new JButton("R\u00E9server");
    		btnNewButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
     
     
     
    			}
    		});
     
     
    		list.setBorder(new LineBorder(new Color(34, 139, 34)));
    		GroupLayout gl_contentPane = new GroupLayout(contentPane);
    		gl_contentPane.setHorizontalGroup(
    			gl_contentPane.createParallelGroup(Alignment.LEADING)
    				.addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup()
    					.addGap(179)
    					.addComponent(btnNewButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    					.addGap(168))
    				.addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup()
    					.addGap(5)
    					.addComponent(list, GroupLayout.DEFAULT_SIZE, 424, Short.MAX_VALUE)
    					.addContainerGap())
    		);
    		gl_contentPane.setVerticalGroup(
    			gl_contentPane.createParallelGroup(Alignment.LEADING)
    				.addGroup(gl_contentPane.createSequentialGroup()
    					.addContainerGap()
    					.addComponent(list, GroupLayout.PREFERRED_SIZE, 218, GroupLayout.PREFERRED_SIZE)
    					.addPreferredGap(ComponentPlacement.RELATED)
    					.addComponent(btnNewButton)
    					.addGap(5))
    		);
    		contentPane.setLayout(gl_contentPane);
    }
     
    }

  12. #12
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Tu peux poster la nouvelle stacktrace détaillée de l'exception
    (Elle indique le n° de ligne où ça plante)
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  13. #13
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Et ça t'affiche vraiment la même exception et pas une autre des fois. Parce que l'exception que tu nous as donnée, c'était bien ça (y' pas à tortiller : si ça dit que c'est un nom de colonne inconnue, c'est que c'est un nom de colonne inconnue, sans parler du fait qu'on voit bien dans la stackTrace que c'est la méthode getString() qui soulevait l'exception ).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  14. #14
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Oui et le code posté a été modifié ... on ne retrouve plus la méthode getString
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/11/2010, 17h35
  2. Réponses: 1
    Dernier message: 19/02/2009, 11h59
  3. java.sql.SQLException:Cursor not valid.
    Par TOPGUN89 dans le forum Websphere
    Réponses: 2
    Dernier message: 12/07/2007, 13h30
  4. Réponses: 7
    Dernier message: 11/08/2006, 09h24
  5. Réponses: 5
    Dernier message: 12/12/2005, 13h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo