2017-09-07 4 views
0

を設定する前に、それはのようなエラーが表示さ:ます。java.sql.SQLException: ます。java.sql.SQLException:結果の開始前</p> <p>私はここで間違ってやっているものを結果セットの開始は、私は私のコードを添付している。ここ

String qry = "SELECT * From register "; 



stmt = (PreparedStatement) conn.prepareStatement(qry); 
rs = stmt.executeQuery(); 
while (rs.next()) { 
    String area = rs.getString("city"); 
    if(city.equals(area)){ 
     System.out.println("!!!!!!It matched: " + city); 
     String qry2="select state from register where city='"+city+"'"; 
     System.out.println(qry2); 
     stmt = (PreparedStatement) conn.prepareStatement(qry2); 
     rs = stmt.executeQuery(); 
     String state=rs.getString("state"); 
     System.out.println("state: " + state); 
     break; 
    } else { 
     //System.out.println("No match with: " + area); 
    } 
} 
+1

このJDBCコードは意味がありません。 ResultSetを反復処理することはできず、中間ストリームで値を変更することはできません。何してるの? – duffymo

+0

ダフィーはそうです。古いものの外に新しいクエリを作成する必要があります。 – MaxZoom

+1

'qry'とは何ですか?なぜ 'area'がWHERE句の一部になるべきなのか?なぜ2番目のクエリですか? 'qry'を更新してレジスタテーブルに参加できますか? –

答えて

0

コードで2番目の結果セットは不要です。 およびは両方とも同じ結果セットにあります。次のコードを使用できます。

String qry = "select * from register"; 
PreparedStatement stmt = (PreparedStatement) conn.prepareStatement(qry); 
      rs = stmt.executeQuery(); 
      while (rs.next()) { 
       String area = rs.getString("city"); 
       if(city.equals(area)){ 
        System.out.println("!!!!!!It matched: " + city); 
        String state=rs.getString("state"); 
        System.out.println("state: " + state); 
        break; 
       } else { 
        //System.out.println("No match with: " + area); 
       } 
      } 
+0

働いていますありがとう – elakiya

1

query1の結果セット・ループ内でquery2に新しいResultSetオブジェクトを使用できます。

String qry2="select state from register where city='"+city+"'"; 
System.out.println(qry2); 
stmt = (PreparedStatement) conn.prepareStatement(qry2); 
ResultSet rs2 = stmt.executeQuery(); 
String state=rs2.getString("state"); 

しかし、一般的に、それは結果を介してすべての方法を反復するJDBCリソースの有効活用が全て「都市」の値が返さ集め、1セットとなり、その後、取得するためにQUERY2を呼び出して「都市」の結果をループあなたが示した方法ではなく、「都市」に関連付けられた「州」です。

関連する問題