Java ResultSet
オブジェクトから取得したデータにアクセスしようとしています。Java ResultSetからデータにアクセスできません
Context ctx = new InitialContext();
DataSource datasource = ctx.lookup("database")
PreparedStatement query = datasource.getConnection().prepareStatement("select * \n" +
"from appDb.market a \n" +
"where not exists \n" +
"(select * from mainDb.market b where a.id = b.id);");
ResultSet rs = query.executeQuery();
if (rs.next()){
//The code will not reach this condition
System.out.println("Data found!");
}
はしかし、何らかの理由で、rs.next()私は、結果セットのrowDataオブジェクトにアクセスすることができます。..現在、ResultSetのrowData行を持っているにもかかわらず、trueに
を評価されていませんデバッグツールを使用すると、行のサイズが1であることがわかりますが、上記の行にはアクセスできません。私は何かばかなことをしなければならないと思うが、それほど確かではない。
documentation読み取り何
データベースに対して同じクエリを直接実行し、結果が得られるかどうかを確認してください。空ではない内部データ構造を持っているということは、実際の行があることを示しているわけではありません。 – RealSkeptic
@RealSkeptic私はこれをして、実際に結果を返します。 –
@RealSkeptic rs.next()はtrueに評価されませんが、1行しか返さないことがありますか? –