Adrisch
Messages postés2Date d'inscriptionmardi 14 octobre 2014StatutMembreDernière intervention19 octobre 2014
-
Modifié par KX le 18/10/2014 à 01:18
Adrisch
Messages postés2Date d'inscriptionmardi 14 octobre 2014StatutMembreDernière intervention19 octobre 2014
-
19 oct. 2014 à 00:39
Bonjour!
J'utilise java et SQL Server 2008. Le code ci-dessous ne prend en charge que les enregistrements des clés étrangères quand j'ai chargé dans les Jcombobox. A la place de ces clés étrangères, je veux enregistrer leurs libellés, mais avec le même code, je n'arrive plus à enregistrer et je ne sais plus m'en sortir.
KX
Messages postés16733Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention31 janvier 2024127 18 oct. 2014 à 01:44
Bonjour,
Java se moque pas mal de savoir si une colonne est clé primaire, clé étrangère ou autre. Il fait les requêtes que tu lui demandes, c'est tout.
Si tu n'es pas sûr de ta requête vérifies la avec SQL, avec des outils comme dbvisualiser par exemple. Tu ne fais ton code qu'une fois que tu es sûr de ce que tu veux faire avec tes données...
Mais attention à l'injection SQL, là tu es en plein de temps.
"select * from Suivre where code_suivre=" + jTextField7.getText()
Imaginons que je mettes dans
jTextField7
la valeur suivante :
''; drop table Suivre;
Qu'est-ce qui se passe ? Et bien tu vas perdre toutes tes données...
Il faut systématiquement utiliser des preparedStatement !
Remarque :
con.lire
,
con.insert
,
con.rs
, de quel type est
con
?
Utilises l'API standard pour faire tes codes...
De plus évites d'utiliser NetBeans pour te générer une interface graphique alors que tu ne sais visiblement pas comment ça fonctionne derrière !
Là typiquement ton interface graphique va freezer parce que tu fait toutes tes requêtes dans l'action du bouton. Or celui-ci va bloquer le rafraîchissement de ta fenêtre tant que l'action n'est pas terminée, ce qui peut être long. Et je ne parle même pas de ce qui se passerait si
con.insert
renvoyait une exception alors qu'elle n'est pas catchée...
Enfin, c'est inutile de faire
if (verif == true) {
parce que le résultat sera toujours égal à
verif
, tu devrais donc directement faire
if (verif) {
.
} else if {
Tu n'as aucune condition ici ! Ton programme ne peux même pas compiler en l'état.
else { }
Si tu n'as rien à faire ne mets pas de else !
Je te conseilles vivement de regarder des cours sur Java parce que tu ne peux pas faire un programme un peu élaboré sans maîtriser les bases...