0

我在这里看到了很多指南,上面写着

if (!res.next())

应该检查语句是否为空,但是当我这样做时出现此错误

org.apache.jasper.JasperException: An exception occurred processing JSP page /irasyti.jsp at line 73

70:     String rezervbusena=""; // rezervo busenos info
71:     String uzsakymas="";    // uzsakymas info
72:     
73:     if( !res.next()){ //jei kambariai neuzimti
74:         try {

我不知道出了什么问题;也许我需要导入一些实用程序?:/我的代码:

    ResultSet res = null;
    Statement stmt = null;
        try {
            stmt = connection.createStatement();
            //res=stmt.executeQuery
            String tas=("SELECT * from table");  
            res=stmt.executeQuery(tas);
            out.println("<br>tas: "+tas + "<br>");
        }catch(Exception ex){
            out.println("Klaida skaityme: "+ex);    
        }

    if( !res.next()){ //jei kambariai neuzimti
            try {}
               catch(Exception ex){
            out.println("error: "+ex);
        }
}

错误是 res 结果集为空,在 mysql 返回空语句后它保持为空,所以我必须先检查它是否为空 if(res!=null)

谢谢大家的回答

4

2 回答 2

1

您可以尝试使用以下代码,看看是否有任何错误?

ResultSet res = null;
    Statement stmt = null;
        try {
            stmt = connection.createStatement();                        
            //res=stmt.executeQuery
            String tas=("SELECT * from table");  
            res=stmt.executeQuery(tas);
            out.println("<br>tas: "+tas + "<br>");       

    if(res.next()){ //jei kambariai neuzimti

            out.println("rs value "+rs.getString(1);
        }
}
catch(Exception e){
e.printStackTrace();
}
于 2012-08-25T03:15:32.033 回答
0

注意确定你有什么异常,但这里有一些解释/提示。

首先,您已经在 J​​SP 中编写Java代码,这不是一种好的做法

其次,如果获取的行数据,则该方法boolean ResultSet.next()返回;否则返回。truefalse

最后,位于 java.sql 包中的 JDBC API 类,因此要么导入这个包,要么只使用类/接口以及包名 -java.sql.Connection等等。

于 2012-08-25T03:46:26.830 回答