我使用SQLiteJDBC(SQLite的Java JDBC驱动程序)在Java中查询SQLite3数据库.
如果我创建SQL查询SELECT名称,则传递FROM loginTable WHERE name ='%s'; 是否有函数返回或转换名称并将查询返回的字符串传递给String数组或ArrayList?
下面的代码尝试将查询返回到数组列表但它失败了,我知道SQL数据库很好并且我的查询是因为当我在命令行中执行此操作时它可以工作.
ArrayList <String> result = new ArrayList<String>();
ResultSet rs = stat.executeQuery( "SELECT ..." );
for (int i=0; rs.next(); i++)
{
result.add( rs.getString(i) );
}
Run Code Online (Sandbox Code Playgroud)
它失败,因为表loginTable有列:Index,name,pass.所以看上面,当i = 0时,我去rs.getString(0),它试图获取Index列中的字符串.
错误输出是
java.sql.SQLException:第0列超出范围[1,1]
有谁知道如何将SQL查询(ResultSet对象)的所有结果放在ArrayList或数组中?