gpt4 book ai didi

Java SQLite JDBCexecuteQuery 返回非空列的空 ResultSet

转载 作者:行者123 更新时间:2023-12-02 03:45:02 24 4
gpt4 key购买 nike

我的代码:

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 列中检索整数值 0。但是,它反而打印“失败”。我无法弄清楚这是因为表实际上是空的还是因为它无法获取数据或什么。任何帮助将不胜感激。

最佳答案

您正在执行 UPDATE 语句,但按照代码呈现的顺序,表 NUMBER 中尚未保留任何内容,因为 UPDATE > 语句用于更新表中现有记录。

请使用 INSERT 语句,从而首先插入数据,因为只有这样才能在表 NUMBER 中创建元组。之后,ResultSet 不应再为空。

如果你需要学习这个概念,你可以看看这个 W3Schools guide .

关于Java SQLite JDBCexecuteQuery 返回非空列的空 ResultSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36377989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com