检查索引Resultset

时间:2018-01-09 08:23:10

标签: java resultset

我试图检查某个索引是否存在,但我得到了一个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

它的翻译例外..

我该如何检查?

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码:

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);

答案 1 :(得分:0)

我认为这种说法会导致问题。

field5 = rs.getString(6);

确保您在所选表格中首先有6列。我认为您应该从第一列开始使用getString(1),因为我不知道为什么您要精确检查列并存储下一列? 如果答案未完成,请向我提供表格架构