SQL: ajout données avec un numéro automatique
Fermé
kithry
-
23 juin 2004 à 16:06
6487 Messages postés 6 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 22 juillet 2008 - 21 juil. 2008 à 22:57
6487 Messages postés 6 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 22 juillet 2008 - 21 juil. 2008 à 22:57
A voir également:
- SQL: ajout données avec un numéro automatique
- Ajout rapide snap ✓ - Forum Snapchat
- Trouver un numéro de portable avec un nom ✓ - Forum Mobile
- Réponse automatique outlook - Guide
- Numero privé ✓ - Forum Mobile
- Numero inconnu - Guide
11 réponses
J'ai une erreur de syntaxe maintenant, savez vous pourquoi ou avez vous une autre idée?
Merci d'avance
Merci d'avance
envoi l'erreur et le code
Ma fonction:
public int intCreerPersonne(String nom, String prenom, String date, String tel, String mail){
// Variables
int intRes = 0;
try {
// Préparation de la requête
String requete = new String();
String selection = new String();
Statement statement=connexion.createStatement();
//selection="SELECT MAX(NumPersonne) From Personne";
//statement.executeUpdate(selection);
requete="INSERT INTO Personne (NumPersonne, Nom, Prenom, DateNaissance, TelPortable, Mail) ";
requete+= " VALUES ("+ null + ",'" + nom + ",'" + prenom + "','" + date + "'," + tel + ",'" + mail + "')";
// Exécution de la requete
intRes = statement.executeUpdate(requete);
// Fermeture des connexions
statement.close();
}
catch (SQLException ex) {
ex.printStackTrace();
System.out.println("Erreur de création d'une personne");
}
return intRes;
}
Main :
public static void main(String[] args) {
//Création d'un objet personnes
ClsPersonnes pers = new ClsPersonnes();
pers.ouvrirConnexion();
//pers.afficher();
//Création d'une nouvelle personne
pers.intCreerPersonne("Robert", "justin", "12031976", "0613040201", "juju@voila.fr");
pers.fermerConnexion();
}
}
Erreur :
java.sql.SQLException: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression ''Robert,'justin','12031976',0613040201,'juju@voila.fr')'.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)Erreur de création d'une personne
at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(Unknown Source)
at ClsPersonnes.intCreerPersonne(ClsPersonnes.java:89)
at ClsPersonnes.main(ClsPersonnes.java:164)
public int intCreerPersonne(String nom, String prenom, String date, String tel, String mail){
// Variables
int intRes = 0;
try {
// Préparation de la requête
String requete = new String();
String selection = new String();
Statement statement=connexion.createStatement();
//selection="SELECT MAX(NumPersonne) From Personne";
//statement.executeUpdate(selection);
requete="INSERT INTO Personne (NumPersonne, Nom, Prenom, DateNaissance, TelPortable, Mail) ";
requete+= " VALUES ("+ null + ",'" + nom + ",'" + prenom + "','" + date + "'," + tel + ",'" + mail + "')";
// Exécution de la requete
intRes = statement.executeUpdate(requete);
// Fermeture des connexions
statement.close();
}
catch (SQLException ex) {
ex.printStackTrace();
System.out.println("Erreur de création d'une personne");
}
return intRes;
}
Main :
public static void main(String[] args) {
//Création d'un objet personnes
ClsPersonnes pers = new ClsPersonnes();
pers.ouvrirConnexion();
//pers.afficher();
//Création d'une nouvelle personne
pers.intCreerPersonne("Robert", "justin", "12031976", "0613040201", "juju@voila.fr");
pers.fermerConnexion();
}
}
Erreur :
java.sql.SQLException: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression ''Robert,'justin','12031976',0613040201,'juju@voila.fr')'.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)Erreur de création d'une personne
at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(Unknown Source)
at ClsPersonnes.intCreerPersonne(ClsPersonnes.java:89)
at ClsPersonnes.main(ClsPersonnes.java:164)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci pour ton aide.
En fait, maintenant j'ai de problemes avec ECLIPSE pour executer, je me demandais s'il etait possible d'executer directement ma servlet sous windows (comme dans l'invt de commande sous unix)?
En fait, maintenant j'ai de problemes avec ECLIPSE pour executer, je me demandais s'il etait possible d'executer directement ma servlet sous windows (comme dans l'invt de commande sous unix)?
HackTrack
Messages postés
618
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
13 juillet 2013
972
24 juin 2004 à 11:23
24 juin 2004 à 11:23
Quand une table comporte un champ avec un 'autonumber', il ne faut pas spécifier ce champ dans un INSERT.
Par exemple, si ta table "Personne" contient les champs suivants:
NumPersonne, Nom, Prenom, DateNaissance, TelPortable, Mail
et que "NumPersonne" est un "autonumber", pour effectuer un insert, tu ne passes ni 'null' ni une chaîne vide en argument. Tu ne passes tout simplement rien pour ce champ!
Remplace donc:
par:
;-)
Par exemple, si ta table "Personne" contient les champs suivants:
NumPersonne, Nom, Prenom, DateNaissance, TelPortable, Mail
et que "NumPersonne" est un "autonumber", pour effectuer un insert, tu ne passes ni 'null' ni une chaîne vide en argument. Tu ne passes tout simplement rien pour ce champ!
Remplace donc:
requete="INSERT INTO Personne (NumPersonne, Nom, Prenom, DateNaissance, TelPortable, Mail) ";
requete+= " VALUES ("+ null + ",'" + nom + ",'" + prenom + "','" + date + "'," + tel + ",'" + mail + "')";
par:
requete="INSERT INTO Personne";
requete+= " VALUES (" + nom + ",'" + prenom + "','" + date + "'," + tel + ",'" + mail + "')";
;-)
bonjour à tous,
j'ai de sérieux problèmes avec Access et mon devoir est à rendre dans deux jours!!!
J'aimerais savoir deux choses :
1- j'ai entré un attribut qui s'appelle semestre et je voudrais qu'il s'affiche automatiquement en fonction de la date : par exemple, 1 si on est en octobre, 2 si on est en mars (calendrier scolaire !).
2- j'ai créé des requêtes mais elles ne marchent pas !!! Pourtant tout a été fait ! Le problème je pense vient de mes relations qui sont bizarres lol ! En effet, quand je les ai créés, elles affichaient "one to many" avec les symboles bien sûr et il suffit que je ferme ma base de données et que je la rouvre et les symboles disparaissent comme par magie !
Bon voilà ! Soyez compréhensifs, je ne suis qu'un débutant d'Access !
Merci d'avance
Jojo
j'ai de sérieux problèmes avec Access et mon devoir est à rendre dans deux jours!!!
J'aimerais savoir deux choses :
1- j'ai entré un attribut qui s'appelle semestre et je voudrais qu'il s'affiche automatiquement en fonction de la date : par exemple, 1 si on est en octobre, 2 si on est en mars (calendrier scolaire !).
2- j'ai créé des requêtes mais elles ne marchent pas !!! Pourtant tout a été fait ! Le problème je pense vient de mes relations qui sont bizarres lol ! En effet, quand je les ai créés, elles affichaient "one to many" avec les symboles bien sûr et il suffit que je ferme ma base de données et que je la rouvre et les symboles disparaissent comme par magie !
Bon voilà ! Soyez compréhensifs, je ne suis qu'un débutant d'Access !
Merci d'avance
Jojo
6487
Messages postés
6
Date d'inscription
lundi 21 juillet 2008
Statut
Membre
Dernière intervention
22 juillet 2008
1
21 juil. 2008 à 22:57
21 juil. 2008 à 22:57
bonjour
slt je cherche dep8 toujours le language msql que faire
slt je cherche dep8 toujours le language msql que faire