Probleme avec sql
Fermé
chahbane
-
5 févr. 2013 à 22:53
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 7 févr. 2013 à 06:51
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 7 févr. 2013 à 06:51
A voir également:
- Probleme avec sql
- Logiciel sql - Télécharger - Bases de données
- Requête sql date supérieure à ✓ - Forum Programmation
- Récupération serveur sql - Télécharger - Gestion de données
- Jointure sql ✓ - Forum MySQL
- Ora-00933: la commande sql ne se termine pas correctement ✓ - Forum Oracle
2 réponses
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
5 févr. 2013 à 23:02
5 févr. 2013 à 23:02
Ce n'est pas une erreur de Java, mais de SQL, ton programme te renvoie l'erreur mais ce n'est pas lui qui la provoque (pas directement).
J'imagine que l'erreur concerne cette partie là du code :
Si tu veux exécuter plusieurs fois ton programme pour faire des tests, il faudrait que tu nettoie ta base de données entre chaque exécution pour annuler les opérations effectuées par le programme. Par exemple, supprimer la table "etudiant" pour éviter qu'elle n'apparaisse comme déjà existante.
Idéalement, il faudrait en fait prendre en compte ce cas dans ton programme, et donc regarder si la table existe déjà, et la créer seulement si elle n'existe pas...
Éventuellement, si elle existe, tu peux supprimer son contenu, pour avoir le même comportement que si tu venais de la créer...
J'imagine que l'erreur concerne cette partie là du code :
sql = "CREATE TABLE insat.etudiant (" + "cin VARCHAR(8) PRIMARY KEY," + "numIns VARCHAR(7)," + "nom VARCHAR(20)," + "prenom VARCHAR(20)) "; stmt.executeUpdate(sql);
Si tu veux exécuter plusieurs fois ton programme pour faire des tests, il faudrait que tu nettoie ta base de données entre chaque exécution pour annuler les opérations effectuées par le programme. Par exemple, supprimer la table "etudiant" pour éviter qu'elle n'apparaisse comme déjà existante.
Idéalement, il faudrait en fait prendre en compte ce cas dans ton programme, et donc regarder si la table existe déjà, et la créer seulement si elle n'existe pas...
Éventuellement, si elle existe, tu peux supprimer son contenu, pour avoir le même comportement que si tu venais de la créer...
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
6 févr. 2013 à 15:22
6 févr. 2013 à 15:22
Bonjour,
Tu es sûr de n'appeler ta fonction qu'une seule fois ?
Je te suggère de mettre un point d'arrêt sur
pour vérifier ça...
Xavier
Tu es sûr de n'appeler ta fonction qu'une seule fois ?
Je te suggère de mettre un point d'arrêt sur
sql = "CREATE TABLE insat.etudiant (" + "cin VARCHAR(8) PRIMARY KEY," + "numIns VARCHAR(7)," + "nom VARCHAR(20)," + "prenom VARCHAR(20)) "; stmt.executeUpdate(sql);
pour vérifier ça...
Xavier
chahbane
Messages postés
8
Date d'inscription
dimanche 21 octobre 2012
Statut
Membre
Dernière intervention
6 février 2013
6 févr. 2013 à 15:27
6 févr. 2013 à 15:27
j'ai instancie la class une seule fois, c'est quoi un point d arret?
6 févr. 2013 à 14:54
7 févr. 2013 à 06:51
Si c'est le même message d'erreur , alors c'est que la base et la table existent toujours.
Le comportement n'est pas aléatoire dans ce cas.