因此,我尝试从数据库中为列表对象中存储的每个引用Id(变量msgRefList )提取msgID和msgStatus值,并尝试将这些提取的值存储在String对象中进行进一步处理。但是rs.next()方法返回false,因此不会进入赋值语句所在的while循环。我使用代码中使用的查询在数据库中进行了检查,结果中显示了一条记录,但rs.next()仍返回false。屏幕快照附带数据库结果。
下面是我正在使用的实际代码
List<String> msgRefList = listofRefrnceValues:
try {
Connection connect = connectToDB(ENV);
for(String reference: msgRefList){
String query="select ID, MSG_STS from TABLE where INSTR_ID = ?";
PreparedStatement stmt = connect.prepareStatement(query);
stmt.setString(1,reference);
ResultSet rs = stmt.executeQuery();
if(rs!=null){
while(rs.next()) {
P_MID = rs.getString("P_MID");
P_MSG_STS = rs.getString("P_MSG_STS");
}
}
}
}catch (Exception e) {
e.printStackTrace();
}
答案 0 :(得分:0)
您在Java的SQL-Query-String中有一些错字。您可能不是用TABLE
(您的真实表)(而是您的真实表)来表示,您的所有属性也不都带有前缀MINF
,而P_
可能是ID
。所以改变:
MID
收件人:
String query="select ID, MSG_STS from TABLE where INSTR_ID = ?";
您会没事的。