gpt4 book ai didi

java - Select 语句返回 0 行 : impossible

转载 作者:行者123 更新时间:2023-12-02 12:00:46 26 4
gpt4 key购买 nike

我需要这方面的快速帮助,谢谢!

我正在尝试使用以下代码检查数据库中是否存在成员:

public boolean memberExists(int id) {
try {
open();
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM client WHERE id = ?");
pstmt.setInt(1,id);
boolean _res = pstmt.executeQuery().getRow() > 0;
close();
return _res;
}
catch (SQLException e){ System.out.print(e); }
return false;
}
}

open() 方法获取新连接,close() 方法关闭该连接。非常简单。

让我发疯的是它总是返回0行。即使查询SELECT * FROM client也会返回0行

我使用sqlitebrowser.exe检查我的数据库,完全相同的查询返回正确的行数

<小时/>

我想我以前已经遇到过这个问题,但我不记得具体是什么。我感觉我失去了一些东西。

<小时/>

此外,在我的代码中,我可以INSERT INTO数据库,但不能SELECT。这实在是太奇怪了。

<小时/>

The open() method.

public DBConnector open() {
boolean _exists = new File(path).exists();
try {
conn = DriverManager.getConnection("jdbc:sqlite:" + path);
if (!_exists) create();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
return this;
}

最佳答案

来自ResultSet.getRow() :

Returns: the current row number; 0 if there is no current row

这是当前行号,而不是结果集中的行数。

您有多种方法来获取行数,请参阅:

How do I get the size of a java.sql.ResultSet ?

关于java - Select 语句返回 0 行 : impossible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47267150/

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