我的代码:
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();
我希望此代码的结果为“Success”,因为它应该从表NUMBER中的VALUE列中检索整数值0。但是,它会打印“失败”。我无法弄清楚这是因为表实际上是空的还是因为它无法获取数据或什么。任何帮助将不胜感激。
答案 0 :(得分:2)
您正在执行UPDATE
语句,但是按照呈现代码的顺序,表NUMBER
中没有任何内容,因为UPDATE
语句用于更新表中的现有记录。
使用INSERT
语句,因此首先插入数据,因为只有这样才能在表NUMBER
中创建元组。之后,ResultSet
不应该是空的。
如果你需要学习这个概念,你可以看看这个W3Schools guide。