2016-04-02 10 views
0

マイコード:それから、整数値0を取得する必要がありますので、私は、「成功」になり、このコードの結果を期待するJavaのSQLiteのJDBCのexecuteQueryは、非空の列の空のResultSetを返す

Class.forName("org.sqlite.JDBC"); 
Connection C = DriverManager.getConnection("jdbc:sqlite:test.db"); 

Statement S = C.createStatement(); 
S.execute("CREATE TABLE NUMBER (VALUE INT(1))"); 
S.close(); 

S = C.createStatement(); 
S.execute("UPDATE NUMBER SET VALUE = 0"); 
S.close(); 

Statement S = C.createStatement(); 
ResultSet Value = S.executeQuery("SELECT VALUE FROM NUMBER"); 

if(Value.next()) 
{ 

    int Result = Value.getInt("VALUE"); 
    System.out.println("Success"); 

} 
else 
{ 

    System.out.println("Failure"); 

} 

S.close(); 

テーブルNUMBERのVALUE列。ただし、代わりに "失敗"が表示されます。私は、テーブルが実際に空であるか、データだけを得ることができないか、何かを得ることができないため、これが正しいかどうかわかりません。どんな助けもありがとう。

答えて

2

あなたがUPDATEステートメントを実行しているが、UPDATE文は、テーブル内の既存のレコードを更新するために使用されるように、コードが提示されるためには、何も、まだ表NUMBERに永続化されません。

代わりにINSERTステートメントを使用してください。こうすることで、タプルがテーブルNUMBERに作成されるように、最初にデータが挿入されます。その後、ResultSetはもう空ではありません。

コンセプトを学ぶ必要がある場合は、W3Schools guideをご覧ください。

関連する問題