ulysse00
Messages postés291Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention12 mai 2013
-
29 nov. 2007 à 18:29
ulysse00
Messages postés291Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention12 mai 2013
-
30 nov. 2007 à 00:13
salut j'ai un probléme d'insertion des donnée dans une base de donnée mysql
j'ai deux tables client et facture
j'ai créé les deux tables avec deux clé primére id_Client et id_Facture
et j'ai une aplication qui enregistre les donnée client et données factures dans la base de donnée , le client peut avoir plusieurs factures
j'ai deux JTextField nom et date
voila le code
if (e.getSource().equals(enregistrer)) {
int nbb = instruction.executeUpdate("INSERT INTO client(nom VALUES ( '" + nom.getText() + "' )");
ResultSet re = instruction.executeQuery("select max(id) from client");
while (re.next()) {
d = re.getInt(1);
}
int n = instruction.executeUpdate("INSERT INTO facture(id,date) VALUES ( '" + d + "' ,'" + date.getText() + "' )");
}
normalement le client peut avoir plusiuers factures mais ça fonctionne pas par exemple aulieu d'avoir
la table client
id nom
1 ulysse
la table facture
ide id date
1 1 20/02/2007
2 1 28/03/2007
je m'explique
si je tape sur le bouton les données seront enregistrés mais si je change la valeur pour autre facture pour le mme client la valeur de id incrémente
<!-- nothing comment -->
ulysse00
Messages postés291Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention12 mai 20131 30 nov. 2007 à 00:13
j'ai modifé le code mais il me rest une partie que je n'arrive pas a résoudre le cas si j'ai une table client videje ne sais pas quoi faire au début j'ai une table vide et avec cette méthode je ne peut pas insérer dans la table
if (re.getFetchSize() > 0){
re.last();
n = re.getString("nom");
if (nom.getText().equals(n)) {
ResultSet ree = instruction.executeQuery(
"select max(id) from client");
while (ree.next()) {
d = ree.getInt(1);
}
int n = instruction.executeUpdate(
"INSERT INTO facture(id,date) VALUES ( '" + d + "' ,'" +
date.getText() + "' )");
}
else {
int nbb = instruction.executeUpdate(
"INSERT INTO client(nom,adresse,localité) VALUES ( '" +
nom.getText() + "','" + adresse.getText() + "','" +
ville.getText() + "')");
ResultSet ree = instruction.executeQuery(
"select max(id) from client");
while (ree.next()) {
d = ree.getInt(1);
System.out.println("Z" + d);
}
int n = instruction.executeUpdate(
"INSERT INTO facture(id,date) VALUES ( '" + d + "' ,'" +
date.getText() + "' )");
}
}