这是我正在处理的代码:
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();
}
}
Run Code Online (Sandbox Code Playgroud)
suiteNum 是一个字符串向量
当我尝试将数据库结果添加到向量时,代码崩溃并出现此错误.
java.sql.SQLException: Column Index out of range, 0 > 1.
Run Code Online (Sandbox Code Playgroud)
我有相同的代码片段在程序的其他地方工作,但我使用实数,如0,1和2而不是我,它工作正常.
因为我不知道数据库请求会有多少结果,所以我需要它是动态的,但它只能进行硬编码.我怎样才能让它适用于我?
参数to getString是列索引,而不是您认为的行索引.该函数返回当前行中给定列的值,同时next将光标前进到下一行.
你可能意味着:
suiteNum.add(retRES.getString(1));
Run Code Online (Sandbox Code Playgroud)
在这种情况下,你可以i完全失败.
| 归档时间: |
|
| 查看次数: |
642 次 |
| 最近记录: |