【发布时间】:2011-08-07 02:05:09
【问题描述】:
我通过使用存根验证驱动程序正在加载并且正在建立连接。我的查询数据库的方法执行没有错误,但返回一个 5 列和 0 行的空结果集(我通过调试验证)。测试数据库中有 5 列的 4 条记录,我的查询要求返回所有结果。我可能只是累了……对我缺少什么有任何见解吗?这是查询方法。数据库文件是访问.mdb
public ArrayList fillResults() { ArrayList savedData = new ArrayList(); 语句 stmt = null; ResultSet 结果 = null;
try
{
stmt = conn.createStatement();
results = stmt.executeQuery(SELECT_ALL);
while(results.next())
{
for(short i = 0; i < 5; i++)
{
savedData.add(results.getString(i));
}
}
}
catch(SQLException ex)
{
JOptionPane.showMessageDialog(null, ex.getMessage() + ": error during retrieval.");
}
finally
{
try
{
results.close();
stmt.close();
} catch (SQLException e){}
}
return savedData;
}
【问题讨论】:
-
请仔细检查您使用的数据库是否正确。遍历结果集的代码看起来如何?
-
while(results.next()) { for(short i = 0; i
-
第一列的索引为 1,而不是 0
-
我试过 getString(i) 和 getString(i + 1)。它不会改变结果集有 0 行的事实。