Java 检查索引结果集

Java 检查索引结果集,java,resultset,Java,Resultset,我试图检查是否存在某个索引,但得到一个sql异常 ResultSet rs = null; ps = odh.connection().prepareStatement(sql); rs = ps.executeQuery(); while(rs.next()){ String field1 = null; String field2 = null; Timestamp fie

我试图检查是否存在某个索引,但得到一个sql异常

ResultSet rs = null;
ps = odh.connection().prepareStatement(sql);
rs = ps.executeQuery(); 

 while(rs.next()){
                   String field1 = null;
                   String field2 = null;
                   Timestamp field3 = null;
                   String field4 = null;
                   String field5 = null;

                   if(rs.getString(1) != null)
                       field1 = rs.getString(2);
                   if(rs.getString(2) != null)
                       field2 = rs.getString(3);
                   if(rs.getTimestamp(3)!= null)
                       field3 = rs.getTimestamp(4);
                   if(rs.getString(4) != null)
                      field4 = rs.getString(4);
                   if(rs.getString(5) != null)
                      field5 = rs.getString(5);
                   ....
                   ....
例外情况呢

java.sql.SQLException: Column index is not valid
例外情况被翻译成


如何检查它?

您可以使用以下代码:

data = rs.getTimestamp(4);
if(rs.wasNull()){ // this tells you if the value that you have fetched is null or not
  // data = {someDefaultValue} 
}
System.out.println(data);

我认为这种说法会引起问题

field5 = rs.getString(6);
请确保在选定的表中首先有6列。我认为您应该开始使用第一列获取字符串(1),因为我不知道为什么要精确地检查列并存储下一列?
如果答案不完整,请向我提供表格模式

您可以发布完整代码以及例外情况吗!更具体地说,提供更多关于例外情况的详细信息,以便其他人可以帮助你。嗨,新手,从那里开始,然后更新你的问题,我很确定,你会得到更多相关的答案,也许还有解决方案。我会说,你的查询没有返回4列。而且,越来越多的人看起来很可疑。您的SQL查询是什么?您能告诉我们您的查询吗?