这是我正在处理的代码:
if(connection.doDatabaseRead(findSQL))
{
ResultSet retRES = connection.getResultSet();
int i = 0;
// did we find anything
while( retRES.next() )
{
//read result from query
suiteNum.add(retRES.getString(i)); // this is the problem
i++;
//let other threads breathe
Thread.yield();
}
}
suiteNum
是字符串向量当我尝试将数据库结果添加到向量中时,代码因该错误而崩溃。
java.sql.SQLException: Column Index out of range, 0 > 1.
我在程序的其他地方也有相同的代码,但是我使用实数(例如0、1和2)代替了i,所以效果很好。
由于我不知道数据库请求有多少个结果,因此我需要它是动态的,但是只能硬编码。
我该如何与我合作?
最佳答案
getString
的参数是列索引,而不是您似乎认为的行索引。该函数返回当前行中给定列的值,而next
将光标移至下一行。
您可能是说:
suiteNum.add(retRES.getString(1));
在这种情况下,您可能会完全丢失
i
。