错误 "ResultSet closed"

Error "ResultSet closed"

为什么我会收到此错误:

Error :java.sql.SQLException: ResultSet closed

来自此代码:

try{   
        ArrayList<String> longArray = new ArrayList<String>();
        longArray.add("12345678912"); // All column in sqlite database are "text" so that's why I create String List 
        longArray.add("12345678911"); 
        System.out.println(longArray);
        String parameters = StringUtils.join(longArray.iterator(),",");  
        connection = sqliteConnection.dbConnector();  
        PreparedStatement pst=connection.prepareStatement("select columnA from TableUser where id in (?)");    
        pst.setString(1, parameters ); 
        ResultSet rs = pst.executeQuery(); 

        System.out.println(rs.getString("columnA")); // did not print anything, probably rs is empty
        rs.close();

数据库详细信息:
我在数据库中有一个 table TableUser,其中有一列 "id" 作为文本。

另一个问题:数据库中的值 12345678912 (TEXT) 是否与 longArray.add("12345678912") 相同?

您在检索 ResultSet 后遗漏了 if(rs.next())while(rs.next())

关于你的另一个问题...是的,他们都是 Strings 不是吗?

编辑: 问题本质上是试图将多个参数放入 PreparedStatement 中的 IN 语句中。参见 PreparedStatement IN Clause Alternatives