Vous n'êtes pas identifié(e).
Pages : 1
Je sollicite pour un problème d'affichage de données .
il s'agit d'une application de gestion commerciale codée en java et comme bdd postgresql
résultat attendu: je désire afficher les produits insérés dans la bdd de façon graphique dans une jTabble
procédure: j'ai exécuté une requette insert into qui me permet d'insérer les produits dans des colonnes qui sont formattée en test et à l'aide de select * from j'affiche les données dans un jTable mais dès que j'execute la requete select * from rien ne s'affiche dans la jtable alors que l'insertion a été bien faite . par curiosité dès que je consulte ma bdd à l'aide de pgadmin cela affiche deux griffe au lieu du text dans toutes les colonnes de ma table produits.
Hors ligne
Concernant jTable, il va falloir voir sur un autre forum. Ce n'est pas du PostgreSQL.
Concernant pgAdmin, vous entendez quoi par deux griffes ? une copie d'écran pourrait aider.
Guillaume.
Hors ligne
Merci Gleu pour la reponse ; par rapport à la capture d'image je n'arrive pas à l'envoyer meme avec les balises BBCode si vous pouvez m'orienter cela me fera très grand plaisir . En parlant de griffes je veux faire allusion au guillemet .
Hors ligne
Vous pouvez utiliser n'importe quel service de partage d'image (http://pasteboard.co/ par exemple) et poster le lien ici.
Julien.
https://rjuju.github.io/
En ligne
voici le lien http://pasteboard.co/qGCoOOpND.png
Nb: les lignes 1 et 2 ont été insérées manuellement grâce à pgadmin
Hors ligne
Votre requête d'insertion en java ne fonctionne apparemment pas, du moins pas comme vous le voulez. Difficile de vous en dire plus sans savoir comment est écrit la requête ni les arguments qui lui sont passés. Votre table n'a pas de clé primaire sinon ? Et vous ne typez aucune donnée ? Vu de loin ça a l'air d'être une très mauvaise idée.
Julien.
https://rjuju.github.io/
En ligne
voici la requête d'insertion:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
String codprod=jTextField1.getText();
String design=jTextField11.getText();
String pu=jTextField12.getText();
String type=jTextField13.getText();
String contenance=jTextField6.getText();
String emballage=jTextField7.getText();
String grammage=jTextField8.getText();
String date_exp=jTextField9.getText();
String couleur=jTextField10.getText();
String litre=jTextField14.getText();
String requete="insert into public.produits(codprod,design,pu,type,contenance,emballage,grammage,date_exp,couleur,litre) VALUES('"+codprod+"','"+design+"','"+pu+"','"+type+"','"+contenance+"','"+emballage+"','"+grammage+"','"+date_exp+"','"+couleur+"','"+litre+"')";
try{
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/login", "postgres", "xxxxx");
stm.executeUpdate(requete);
JOptionPane.showMessageDialog(null,"le produit est bien ajouté");
}catch(Exception ex){JOptionPane.showMessageDialog(null,ex.getMessage());}
}
Toutes les colonnes sont typées en test parce que je n'arrive pas à exécuter l'insertion si je met integer comme type de la colonne "codprod"; cela m'affiche comme erreur << Syntaxe en entrée invalide pour l'entier près de >>
Ps: je tiens à préciser que l'insertion s'est bien passer la belle preuve j'ai la boite de dialogue qui m'affiche< le produit est bien ajouté> . je crois que l'erreur devrais venir du type et comment régler cela?
Dernière modification par wadtech (26/01/2017 15:53:55)
Hors ligne
La requête est bien exécutée, mais je suppose que le contenu des différents champs est vide. Il insère donc des valeurs vides partout, c'est ce que vous voyez sur pgAdmin.
Au passage, vous ne vérifiez absolument pas le contenu des champs (notament s'il y a quelque chose dedans), et encore pire vous concanétez directement du contenu arbitraire dans votre requête, ce qui veut dire possibilité d'injection SQL. Pour résoudre le projet d'injection ainsi que de typage, regardez du côté des requête préparées (https://jdbc.postgresql.org/documentati … query.html).
Julien.
https://rjuju.github.io/
En ligne
Merci Julien pour les réponses , je vais jetter un coup d'oeil sur la documentation et vous tenir informer après
Hors ligne
Pages : 1