【发布时间】:2019-08-02 16:00:32
【问题描述】:
results.next() 为 false,!results.next() 在 while 循环中打印 ResultSet closed
我什么都试过了。从做 Class.forName() 到 connection.setAutoCommit(false) 没有任何工作:/
public static void main(String[] args) throws Exception {
String query = "SELECT * FROM StudentInfo";
String url;
try {
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection(url);
ps = connection.prepareStatement(query);
results = ps.executeQuery();
while (results.next()) {
print(results.getString("nameID"));
}
} catch (SQLException e) {
print(e.getMessage());
}
}
只打印出 BUILD SUCCESSFUL 而不打印我的任何数据
【问题讨论】:
-
StudentInfo表中有记录吗..? -
是的-nameID中有20个数据集,是StudentInfo的第一列
-
至少添加一个
System.out.println("starting");或System.out.println("done");(提示:如果您遇到异常,请始终打印堆栈跟踪e.printStackTrace();) -
顺便说一句:
BUILD SUCCESSFUL在构建/编译时出现,不一定在启动/运行时出现 - 那么,您确定启动程序还是仅构建它? (也许描述一下你是如何尝试的) -
或尝试一些奇怪的东西
SELECT * FROM StudentInfoERROR