我试验了一下,用update语句不能对result set取返回值,即不可:Resultset rs = conn.executeUpdate(upd) 不知是何原因

解决方案 »

  1.   

    Connection类有executeUpdate()方法吗?
    应该先创建SQL语句执行类Statement类或者PreparedStatement 
    然后调用他们的executeUpdate()方法
      

  2.   


    返回的类型应该是int吧???
      

  3.   

    executeUpdate()方法是我在conn.class中定义的,其实就是完成对数据库记录进行更新的操作,但在使用时总是提示“No result sets were produced~~~ ”,但页面却可以正常运行并更新数据库中记录。
      

  4.   

    executeUpdate返回的是你更新记录的条数,
    int iResult=Statement.executeUpdate();
    要返回记录集用executeQuery();
    Resultset rs=Statement.executeQuery();
      

  5.   

    但是我在用int类型取Update的返回值时
    语句为:int count = conn.executeUpdate(upd);
    提示出错如下:"incompatible types probably occurred due to an error in practice.jsp line 20:
    int count = Pconn.executeUpdate(upd);"应该不能用int取Update的返回值吧
      

  6.   

    你声明一个Statement的对象把
    Statement st=conn.createStatement();
    后用st.executeUpdate();
    它返回的是一个整数;表示你执行了多少条查询语句;正确的写法是:
    int iReturn=0;
    try{
       Statement st=conn.createStatement();
       if(st!=null){
          iReturn=st.executeUpdate(upd);
       }   
    }
    catch(SQLException se){
       System.out.println("executeUpdate Err:"+upd+";"+se.toString());
       iReturn=-1;
    }
    return iReturn;
    页面上可以判断iReturn if(iReturn>0) System.out.println("成功更新了"+iReturn +"条记录");
                          if(iReturn==0) System.out.println("数据库联接失败!");
                          if(iReturn==-1) System.out.println("更新记录失败!");