Et moi, je voudrais que tu répondes à ma question. Sans ça, je ne pourrais .pas t'aider. (et j'ai bien compris ce que tu essayais de faire, depuis le début).
Et moi, je voudrais que tu répondes à ma question. Sans ça, je ne pourrais .pas t'aider. (et j'ai bien compris ce que tu essayais de faire, depuis le début).
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.
Bonjour Joel,
Sorry si je t ai vexe mais comme niveau en java en sous la barre du nul, je croyais que je ne m etais pas bien fait comprendre.
Encore mes excuses.
Si dessous le resultat du code que tu as envoye.
Je t ai egalement en le code qui precede ou je me demande s il ne faut pas mettre un close quelque part.
Je me demandais egalement si le fait que le champ access comporte 10 caracteres n ait pas une incidence (x espaces)
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 --- La connection etablie--- --- La connection etablie--- Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Uncompilable source code - illegal start of expression at decisions.AddDecisionsJFrame11.FilljCboTypeAbsence(AddDecisionsJFrame11.java:120) at decisions.AddDecisionsJFrame11.<init>(AddDecisionsJFrame11.java:36) at decisions.Jlogin.jButton1MouseClicked(Jlogin.java:110) at decisions.Jlogin.access$100(Jlogin.java:15) at decisions.Jlogin$2.mouseClicked(Jlogin.java:52) at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270) at java.awt.Component.processMouseEvent(Component.java:6536) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4534) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) BUILD SUCCESSFUL (total time: 2 minutes 42 seconds)
Le code que je t'ai demandé de tester, c'est juste quelques modifications dans la méthode FilljTxtNomPrenom (ta méthode, à partir de ton code copié/collé). Et là tu me montres une stacktrace qui dit qu'il y a quelque chose qui ne compile pas dans une autre méthode FilljCboTypeAbsence. Donc aucun rapport avec ce que je t'ai fait modifier !
Ce n'est pas compliqué ce que tu cherches à faire : ça fonctionne avec une requête en dur, avec la valeur du paramètre en dur dans la requête : il faut que tu la remplaces (cette valeur en dur) par un ? dans le sql du PreparedStatement. Et ensuite, tu dois transmettre cette valeur à partir du contenu d'un champ JTextField qui s'obtient par la méthode getText() de JTextField. Et il faut que le type de la colonne dans la clause where soit "compatible" avec la valeur du paramètre, voire de préférence être du même type. C'est pour ça que je t'ai fait afficher la valeur saisie dans le champ (et ce que je veux c'est ce qui se trouve dans la console, pas ton interprétation) et que je t'ai donné un code où le paramètre est passé en long. Et si la requête en dur fonctionne, il est évident que la requête paramétrée fonctionne aussi, si tant est qu'on passe bien la même valeur en paramètre.
Je ne suis nullement vexé : je te demande de modifier des trucs et de les tester, et tu modifies ces trucs autrement, ou tu modifies autre chose. Comment veux-tu avancer ? Et ce n'est pas une question d'être nul en Java : quelque soit le langage, si on te demande de remplacer a par b et que tu modifies c par d, ça ne permet pas d'avancer. Et en même temps, je perds mon temps. Maintenant, je ne sais pas quoi te dire de plus et je ne pourrais pas t'aider si tu ne suis pas scrupuleusement mes indications.
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.
Voila,
j ai fait un copie colle et voici le resultat donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Created dir: C:\Users\habiler\Desktop\decisions_T2\build\empty Created dir: C:\Users\habiler\Desktop\decisions_T2\build\generated-sources\ap-source-output Compiling 9 source files to C:\Users\habiler\Desktop\decisions_T2\build\classes C:\Users\habiler\Desktop\decisions_T2\src\decisions\AddDecisionsJFrame1.java:127: error: illegal start of expression System.out.println("Matricule : "+)jTxtMatr.getText(); C:\Users\habiler\Desktop\decisions_T2\src\decisions\AddDecisionsJFrame1.java:127: error: ';' expected System.out.println("Matricule : "+)jTxtMatr.getText(); C:\Users\habiler\Desktop\decisions_T2\src\decisions\AddDecisionsJFrame1.java:151: error: illegal character: '\u00a0' * 3 errors C:\Users\habiler\Desktop\decisions_T2\nbproject\build-impl.xml:955: The following error occurred while executing this line: C:\Users\habiler\Desktop\decisions_T2\nbproject\build-impl.xml:295: Compile failed; see the compiler error output for details. BUILD FAILED (total time: 1 second)
Il y a effectivement une faute de frappe au début (que tu aurais pu corriger de toi-même !). Essaye-ça :
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 public final void FilljTxtNomPrenom() throws SQLException { System.out.println("Matricule : "+jTxtMatr.getText()); if ( !jTxtMatr.getText().matches("\\d+") ) return; affiche("Etape 2"); String sql1 = "SELECT * FROM Signaletique WHERE Matricule = ?"; ps1 = conn.prepareStatement(sql1); ps1.setLong(1, Long.parseLong(jTxtMatr.getText())); rs1 = ps1.executeQuery(); //System.out.println("Nom"); //System.out.println(jTxtNomPrenom); //System.out.println(jTxtMatr); try { //System.out.println(rs1); while (rs1.next()) { jTxtNomPrenom.setText(rs1.getString(2) + " " + rs1.getString(3)); affiche("Etape 3"); System.out.println(rs1.getString(1) + "* \t** " + rs1.getString(2) + rs1.getString(3) + rs1.getString(4)); } } catch (SQLException e) { e.printStackTrace(); } finally { if (rs1 != null) { rs1.close(); } } { JOptionPane.showMessageDialog(null, "Saved !!!!!"); ps1.close(); conn.close(); } }
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.
Bonjour
A la compil j ai un warning et a l execution matricule est vide>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 run: --- La connection etablie--- --- La connection etablie--- Matricule : --- La connection etablie---
Si System.out.println("Matricule : "+jTxtMatr.getText()); t'affiche "Matricule : ", c'est qu'effectivement le champ matricule est vide... et donc ? A quoi t'attends-tu si pour faire une requête avec un paramètre, tu ne saisis pas de valeur pour ce paramètre ?
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.
Je croyais quese chargeait de cela
Code : Sélectionner tout - Visualiser dans une fenêtre à part ps1.setString(1,jTxtMatr.getText());
Oui, encore faut-il qu'il y ait quelque chose de saisi dans le champ jTxtMatr ! De saisi, de tapé, de frappé...au clavier, ou initialisé éventuellement avec jTxtMatr.setText() (ou à la construction)... mais là le champ est vide, puis que System.out.println("Matricule : "+jTxtMatr.getText()); affiche Matricule : !
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.
Bonjour,
Tu dois aussi faire attention à la validation ici:
Sinon, ça ne passe pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ( !jTxtMatr.getText().matches("\\d+") ) return;
A+.
Lorsque je frappe un matricule dans jTxtMatr a l ecran le get Text ne se charge t il pas de cela?
Habiler
Normelement si. Si tu as vraiment frappé quelque chose dans le champ, et que, malgré tout, System.out.println("Matricule : "+jTxtMatr.getText()); affiche Matricule :, alors le champ jTextMatr est vide (pas de saisie dedans).
1 seule raison à ça : ce n'est pas le bonne instance. Cas classique : 2 variables différentes de même nom (de scope différent).
Par exemple :
quelque soit la saisie dans le champ affiché dans le panel, l'affichage affichera toujours "Matricule : ". Ce n'est pas la même variable.
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 public class Exemple1 extends JPanel { private JTextField jTextMatr=new JTextField(); public Exemple1() { JTextField jTextMatr = new JTextField(); add(jTextMatr); } public void test() { System.out.println("Matricule : " + jTextMatr.getText()); } }
Et on peut même avoir le problème avec une seule variable, et plusieurs instances :
Idem : l'instance dont on affiche le getText() et celle qui est affichée, donc dans laquelle on fait la saisie n'est pas la même.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class Exemple extends JPanel { private JTextField jTextMatr=new JTextField(); public Exemple() { add(jTextMatr); jTextMatr = new JTextField(); } public void test() { System.out.println("Matricule : " + jTextMatr.getText()); } }
Pour vérifier très vite que ce n'est pas le même champ, tu peux forcer une valeur dans ta méthode :
Si tu ne vois pas s'afficher "Coucou" dans ton formulaire à l'écran, ce n'est pas la bonne instance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public final void FilljTxtNomPrenom() throws SQLException { jTxtMatr.setText("Coucou"); System.out.println("Matricule : "+jTxtMatr.getText()); /*... etc ...*/ }
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.
J'ai réécrit (à nouveau).
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 private void FilljTxtNomPrenom() { try { affiche("Etape 2"); PreparedStatement rechercheMatr = conn.prepareStatement ("SELECT * FROM Signaletique WHERE Matr =?"); rechercheMatr.setString(1, "Matr"); rechercheMatr.setString(4, jTxtNomPrenom.getText()); //jTxtNomPrenom.setString(rechercheMatr.getText(4)); rechercheMatr.executeQuery(); affiche("Etape 2.1"); } catch (SQLException ex) { Logger.getLogger(AddDecisionsJFrame11.class.getName()).log(Level.SEVERE, null, ex); } }
A la compilation je n'ai pas d'erreur mais à l'exécution il m'affiche l'erreur suivante :
at net.ucanaccess.jdbc.UcanaccessConnection.prepareStatement(UcanaccessConnection.java:528)
at decisions.AddDecisionsJFrame11.FilljTxtNomPrenom(AddDecisionsJFrame11.java:135)
at decisions.AddDecisionsJFrame11.<init>(AddDecisionsJFrame11.java:41)
at decisions.Jlogin.jButton1MouseClicked(Jlogin.java:110)
at decisions.Jlogin.access$100(Jlogin.java:15)
at decisions.Jlogin$2.mouseClicked(Jlogin.java:52)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
at java.awt.Component.processMouseEvent(Component.java:6536)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4534)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: MATR
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: MATR
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source)
at org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source)
at net.ucanaccess.jdbc.UcanaccessConnection.prepareStatement(UcanaccessConnection.java:525)
... 37 more
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.ExpressionColumn.checkColumnsResolved(Unknown Source)
at org.hsqldb.QueryExpression.resolve(Unknown Source)
at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source)
at org.hsqldb.ParserCommand.compilePart(Unknown Source)
at org.hsqldb.ParserCommand.compileStatement(Unknown Source)
at org.hsqldb.Session.compileStatement(Unknown Source)
at org.hsqldb.StatementManager.compile(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
... 40 more
Ce qui est important dans la trace, c'est : Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: MATR. Tu fais référence dans ta requête à une colonne MATR qui n'existe pas dans la table Signaletique, ou que tu n'as pas le droit d'accèder...
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager