L'attribution SELECT COUNT(*) Résultat de la Requête à une Variable Java

J'ai eu des problèmes en assignant le résultat d'un SELECT COUNT(*) requête à une variable Java. Je suis l'affectation du résultat de la requête à un jeu de résultats. Alors, j'essaie de récupérer la valeur de nombre et de l'affecter à une variable. J'obtiens une erreur lorsque vous tentez de le faire.

Voici mon code:

ResultSet rc1 = null;
int rowCount1;
Statement stat = conn.createStatement();

rc1 = stat.executeQuery("SELECT COUNT(*) AS rowcount1 
   FROM Signal WHERE SignalId = 1;");

if (rc1.next())
        rowCount1 = rc1.getInt("rowcount1");

Puis j'obtiens l'erreur suivante:

java.sql.SQLException: aucune colonne de ce type: 'rowcount1'
au org.sqlite.RS.findColumn(RS.java:116)
au org.sqlite.RS.getInt(RS.java:219)

Apparemment, le problème, c'est quand on essaye d'affecter ce qui se passe après à une variable. Je ne trouve pas beaucoup d'informations sur les requêtes contenant AUSSI. Je reçois la même erreur avec les requêtes où je ne suis pas de comptage. Par exemple, si j'ai le code suivant:

ResultSet rp1 = null;
int rowCount1 = 0;
Statement stat = conn.createStatement();

rp1 = stat.executeQuery("SELECT Signal AS Sig1 
  FROM Observations WHERE SignalId = 1;");

if (rp1.next())
       rowCount1 = rp1.getInt("rowcount1");

Je reçois la même erreur avec le code précédent (qui n'colonne: rowCount1). Ce que je fais de mal? Je suis en veillant à la table, je suis de lecture contient les valeurs correctes de sorte que la requête doit être vrai.

Êtes-vous sûr d'obtenir le résultat correct à partir d'une requête telle que SELECT COUNT(*) FROM Signal WHERE SignalID = '12345', lorsque vous tirez sur la COUNT(*) valeur elle-même?
avez-vous essayé getInt(0)?
merci pour le montage, mais la prochaine fois, prenez le temps de nettoyer le code ainsi afin de ne pas exécuter hors de l'écran.......
votre question est balisé mysql mais le pilote ressemble sqlite org.sqlite.RS.findColumn. pouvez-vous vérifier votre pilote à la fois.
getInt(0) ne fonctionne pas @Srinivas -- la colonne de numérotation commence à 1.

OriginalL'auteur Ruth | 2011-04-26