Bonjour,
j'ai un problème avec une requete SQL en java.
J'essaye d'avoir le nombre d'enregistrement dans ma table
utilisateur.Pour ce faire, j'utilise la requete suivante : "SELECT COUNT
(*) FROM utilisateurs;" qui marche très bien dans phpMyAdmin.
Mais j'ai l'erreur suivante lorsque que je l'éxécute en Java :
java.sql.SQLException: Syntax error or access violation: You have an
error in your SQL syntax near '(*) FROM utilisateurs' at line 1
at com.mysql.jdbc.MysqlIO.sendCommand(Unknown Source)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(Unknown Source)
at com.mysql.jdbc.MysqlIO.sqlQuery(Unknown Source)
at com.mysql.jdbc.Connection.execSQL(Unknown Source)
at com.mysql.jdbc.Connection.execSQL(Unknown Source)
at com.mysql.jdbc.Statement.executeQuery(Unknown Source)
at com.mysql.jdbc.jdbc2.Statement.executeQuery(Unknown Source)
at bdd.Bdd.getUserNb(Bdd.java:2234)
etc..
Voici la création de la requete :
public int getUserNb() {
if(!connected) {
try {
connexion();
} catch (Exception e) {
Trace.println("Error : couldn't connect to base");
}
}
String requete = new String("SELECT COUNT (*) FROM utilisateurs;");
try {
statement = conn.createStatement();
} catch (SQLException e) {
Trace.println("Error during statement creation");
e.printStackTrace();
}
ResultSet result = null;
try {
result = statement.executeQuery(requete);
if(result.next()){
return result.getInt(1);
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Vincent Brabant
Bonjour, j'ai un problème avec une requete SQL en java. J'essaye d'avoir le nombre d'enregistrement dans ma table utilisateur.Pour ce faire, j'utilise la requete suivante : "SELECT COUNT (*) FROM utilisateurs;" qui marche très bien dans phpMyAdmin.
Mais j'ai l'erreur suivante lorsque que je l'éxécute en Java : java.sql.SQLException: Syntax error or access violation: You have an error in your SQL syntax near '(*) FROM utilisateurs' at line 1 at com.mysql.jdbc.MysqlIO.sendCommand(Unknown Source) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(Unknown Source) at com.mysql.jdbc.MysqlIO.sqlQuery(Unknown Source) at com.mysql.jdbc.Connection.execSQL(Unknown Source) at com.mysql.jdbc.Connection.execSQL(Unknown Source) at com.mysql.jdbc.Statement.executeQuery(Unknown Source) at com.mysql.jdbc.jdbc2.Statement.executeQuery(Unknown Source) at bdd.Bdd.getUserNb(Bdd.java:2234) etc..
Personellement, j'essayerais en supprimant le ; à la fin du select.
Et avec Oracle, on m'a toujours conseillé de faire un select count(1) fromm ... qui serait plus performant qu'un select count(*).
Mais je ne sais pas si c'est vrai sous mysql
Vincent
Bonjour,
j'ai un problème avec une requete SQL en java.
J'essaye d'avoir le nombre d'enregistrement dans ma table
utilisateur.Pour ce faire, j'utilise la requete suivante : "SELECT COUNT
(*) FROM utilisateurs;" qui marche très bien dans phpMyAdmin.
Mais j'ai l'erreur suivante lorsque que je l'éxécute en Java :
java.sql.SQLException: Syntax error or access violation: You have an
error in your SQL syntax near '(*) FROM utilisateurs' at line 1
at com.mysql.jdbc.MysqlIO.sendCommand(Unknown Source)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(Unknown Source)
at com.mysql.jdbc.MysqlIO.sqlQuery(Unknown Source)
at com.mysql.jdbc.Connection.execSQL(Unknown Source)
at com.mysql.jdbc.Connection.execSQL(Unknown Source)
at com.mysql.jdbc.Statement.executeQuery(Unknown Source)
at com.mysql.jdbc.jdbc2.Statement.executeQuery(Unknown Source)
at bdd.Bdd.getUserNb(Bdd.java:2234)
etc..
Personellement, j'essayerais en supprimant le ; à la fin du select.
Et avec Oracle, on m'a toujours conseillé de faire un select count(1)
fromm ... qui serait plus performant qu'un select count(*).
Bonjour, j'ai un problème avec une requete SQL en java. J'essaye d'avoir le nombre d'enregistrement dans ma table utilisateur.Pour ce faire, j'utilise la requete suivante : "SELECT COUNT (*) FROM utilisateurs;" qui marche très bien dans phpMyAdmin.
Mais j'ai l'erreur suivante lorsque que je l'éxécute en Java : java.sql.SQLException: Syntax error or access violation: You have an error in your SQL syntax near '(*) FROM utilisateurs' at line 1 at com.mysql.jdbc.MysqlIO.sendCommand(Unknown Source) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(Unknown Source) at com.mysql.jdbc.MysqlIO.sqlQuery(Unknown Source) at com.mysql.jdbc.Connection.execSQL(Unknown Source) at com.mysql.jdbc.Connection.execSQL(Unknown Source) at com.mysql.jdbc.Statement.executeQuery(Unknown Source) at com.mysql.jdbc.jdbc2.Statement.executeQuery(Unknown Source) at bdd.Bdd.getUserNb(Bdd.java:2234) etc..
Personellement, j'essayerais en supprimant le ; à la fin du select.
Et avec Oracle, on m'a toujours conseillé de faire un select count(1) fromm ... qui serait plus performant qu'un select count(*).
Mais je ne sais pas si c'est vrai sous mysql
Vincent
Libert Sébastien
"Gart" a écrit dans le message de news: 3f9e4f16$0$261$
"SELECT COUNT (*) FROM utilisateurs;" qui marche très bien dans phpMyAdmin.
Essaye sans l'espace entre COUNT et l'ouverture de parenthèse. Sous MySQL, les espaces entre les fonctions et les parenthèses sont peu appréciées.
HTH Sébastien Libert
"Gart" <gart@dlfp.org> a écrit dans le message de news:
3f9e4f16$0$261$636a55ce@news.free.fr...
"SELECT COUNT (*) FROM utilisateurs;" qui marche très bien dans
phpMyAdmin.
Essaye sans l'espace entre COUNT et l'ouverture de parenthèse.
Sous MySQL, les espaces entre les fonctions et les parenthèses sont peu
appréciées.
"Gart" a écrit dans le message de news: 3f9e4f16$0$261$
"SELECT COUNT (*) FROM utilisateurs;" qui marche très bien dans phpMyAdmin.
Essaye sans l'espace entre COUNT et l'ouverture de parenthèse. Sous MySQL, les espaces entre les fonctions et les parenthèses sont peu appréciées.
HTH Sébastien Libert
Nicolas Repiquet
"Vincent Brabant" a écrit dans le message news: 3f9e5a14$0$16248$
Personellement, j'essayerais en supprimant le ; à la fin du select.
Ouais moi aussi je vote pour ça.
En mysql, le ';' n'est pas un terminateur d'expression, mais un séparateur d'expressions. Donc si il y a plusieurs expressions, il y a plusieurs résultats ! D'où l'erreur je dirais.
-- Nicolas Repiquet
"Vincent Brabant" <vincent.brabant@skynet.be> a écrit dans le message news:
3f9e5a14$0$16248$ba620e4c@reader3.news.skynet.be...
Personellement, j'essayerais en supprimant le ; à la fin du select.
Ouais moi aussi je vote pour ça.
En mysql, le ';' n'est pas un terminateur d'expression, mais un séparateur
d'expressions. Donc si il y a plusieurs expressions, il y a plusieurs
résultats ! D'où l'erreur je dirais.
"Vincent Brabant" a écrit dans le message news: 3f9e5a14$0$16248$
Personellement, j'essayerais en supprimant le ; à la fin du select.
Ouais moi aussi je vote pour ça.
En mysql, le ';' n'est pas un terminateur d'expression, mais un séparateur d'expressions. Donc si il y a plusieurs expressions, il y a plusieurs résultats ! D'où l'erreur je dirais.
-- Nicolas Repiquet
Gart
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Merci, c'est bien ça qui bloqué.
Libert Sébastien wrote: | "Gart" a écrit dans le message de news: | 3f9e4f16$0$261$ | |>"SELECT COUNT (*) FROM utilisateurs;" qui marche très bien dans | | phpMyAdmin. | | Essaye sans l'espace entre COUNT et l'ouverture de parenthèse. | Sous MySQL, les espaces entre les fonctions et les parenthèses sont peu | appréciées. | | | | HTH | Sébastien Libert | |
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
Libert Sébastien wrote:
| "Gart" <gart@dlfp.org> a écrit dans le message de news:
| 3f9e4f16$0$261$636a55ce@news.free.fr...
|
|>"SELECT COUNT (*) FROM utilisateurs;" qui marche très bien dans
|
| phpMyAdmin.
|
| Essaye sans l'espace entre COUNT et l'ouverture de parenthèse.
| Sous MySQL, les espaces entre les fonctions et les parenthèses sont peu
| appréciées.
|
|
|
| HTH
| Sébastien Libert
|
|
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
Libert Sébastien wrote: | "Gart" a écrit dans le message de news: | 3f9e4f16$0$261$ | |>"SELECT COUNT (*) FROM utilisateurs;" qui marche très bien dans | | phpMyAdmin. | | Essaye sans l'espace entre COUNT et l'ouverture de parenthèse. | Sous MySQL, les espaces entre les fonctions et les parenthèses sont peu | appréciées. | | | | HTH | Sébastien Libert | |
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org