while(r.next()){
      if(r.getString("TransactionType").trim().equals("UPDATE")){
         System.out.println("UPDATE");}
      if(r.getString("TransactionType").trim().equals("INSERT")){
        System.out.println("UPDATE");}
      if(r.getString("TransactionType").trim().equals("DELETE")){
System.out.println("INSERT");}
}数据库中的数据按以下顺序排放.
UPDATE
INSERT
UPDATE
DELETE编译没问题.运行后.出错.原因是No data found
但是我每条IF语句单独拿出来运行,没问题.任意二条也没问题.
但就是三条放在一起出错.运行结果是
UPDATE
java.sql.SQLException: No data found
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at Test.Compare.<init>(Compare.java:60)//这里的60行就是最后条IF语句.
at Test.Compare.main(Compare.java:91)
Exception in thread "main" 我任意二条IF语句都可以正常运行,就是三个放一起出错.什么情况啊?

解决方案 »

  1.   

    换成下面的写法试试。
    if () {}
    else if () {}
      

  2.   

    先判断一下是否能够打印正常的数据.
    while(r.next()){
    r.getString("TransactionType");
    }
    然后再来判断你的IF语句,不过觉得语句海象没有错误.
      

  3.   

    谢谢楼上.我试过了.
    if () {}
    else if () {}else if(){}写成这个形式后,第一条IF语句输出,后面二条不行.搞不懂了.~~
      

  4.   

    回复feifniao,谢谢.
    我用System.out.println(r.getString("TransactionType"));
    输出结果:
    UPDATE
    INSERT
    UPDATE
    DELETE没有错误.55555.我哭.~~