2017-07-14 3 views
-2

J'essaye d'exécuter une requête simple pour récupérer des données en utilisant Java 1.6 et Oracle 9i. Même si j'obtiens le résultat avec une instruction mais en utilisant le jeu de résultats preaparedstatement renvoyé avec des lignes vides. Est-ce que n'importe quel corps a fait face au même problème?Instruction préparée ne fonctionne pas lorsque Statement fonctionne avec Java et Oracle

Ma JDBC version du pilote est 10.1.0.5.0 et DB est Oracle9i Édition Enterprise version 9.2.0.8.0 - 64bit production

Après le programme.

String query = "SELECT count(SEVERITY) as CNT FROM TICKET_TABLE where upper(customerid)=?" ; 
PreparedStatement pst =null; 
ResultSet lResultSet = null; 
pst = con.prepareStatement(query);  
pst.setString(1, "CUST_A"); 
lResultSet = pst.executeQuery();     
while(lResultSet.next()) {      
    i = lResultSet.getInt("CNT"); 
} 
lResultSet.close(); 
pst.close(); 
con.close(); 
+0

Si vous attendez une seule ligne, vous devez remplacer 'while' par' if' ... –

+1

Mauvais. N'explique pas pourquoi il n'y a aucun résultat de PreparedStatement. – duffymo

+0

N'était pas une réponse, juste un commentaire ... –

Répondre

0

Vous pouvez vérifier la compatibilité du pilote oracle que vous utilisez avec la version java et la version de base de données.

Deuxièmement, confirmez que les critères de requête supposent renvoyer des enregistrements en les exécutant d'abord via n'importe quel outil client Oracle.

+0

La même requête a renvoyé des données avec sqldeveloper 4.2 – Jigs

+0

Confirmer la compatibilité du pilote jdbc que vous utilisez avec la version db, version java et l'OS. Les pilotes Oracle peuvent parfois être amusants. – Kinglee

+0

APP-1 [ne fonctionne pas] Java 1.5, version du pilote JDBC est 9.2.0.1.0 DB est Oracle DB Ver est Oracle9i Enterprise Edition Version 9.2.0.8.0 - 64bit Production Oracle installé sur Solaris 5.10 APP-2 [travailliez] ======== Java 1.5, JDBC version du pilote est 9.2.0.1.0, DB est Oracle DB Ver est Oracle9i Édition Enterprise version 9.2.0.8.0 - 64bit production Oracle Solaris installé sur 5.10 App3 [travailliez] ==== Java 1.5, JDBC version du pilote est 9.2.0.1.0 DB est Oracle DB Ver est Oracle Database 10g Enterprise Edition de presse 10.2.0.4. 0 - Production Oracle installé sur Windows Enterprise 2003 – Jigs