在eclipse中写了一个方法用来
向SQLServer中插入记录的,但是
每次在这个方法里面调用executeUpdate()
这个方法的时候就会报错,如果改成
executeQuery()一点问题也没有,但是会有这样子的错误
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]No ResultSet set was produced.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at votes.Conn.executeInsert(Conn.java:63)
at votes.Conn.main(Conn.java:100)
真的很头晕,不知道是哪里出了错.

解决方案 »

  1.   

    看出错信息啊.....No ResultSet set was produced.
    executeUpdate()是一个方法,
    executeQuery()返回了一个ResultSet
    如果我猜错你的代码另该类似
    ResultSet rs;
    rs=executeQuery();
    其实你用executeUpdate()是直接就
    executeUpdate()就可以了
      

  2.   

    我还想问一下我在jsp里面调用
    查询结果的方法却返回的是
    java.lang.NullPointerException 
    我返回的是ResultSet 但是每次在
    JSP页面时调用的时候却不能正确
    执行
    public ResultSet executeQuery(String sql)
    {
       try
        {
          rs=conn.executeQuery(sql);
        }
        catch(Exception e)
        {
          System.out.println(e);
        }
    }
      

  3.   

    ...............你这个根本就没有返回ResultSet啊
    public ResultSet executeQuery(String sql)
    {
       try
        {
          rs=conn.executeQuery(sql);
          return this.rs;
        }
        catch(Exception e)
        {
          System.out.println(e);
        }
    }
    java.lang.NullPointerException 
    是说一个空指针错误 
      

  4.   

    呵呵
    没有我刚才少写了
    public ResultSet executeQuery(String sql)
    {
       try
        {
          rs=conn.executeQuery(sql);
        }
        catch(Exception e)
        {
          System.out.println(e);
        }
        return rs;
    }
    应该是这样子的,你说的
    空指针错误,是不是从方法里没有返回应何
    结果集是吧,我在JSP页面里是这样子调用的
    Conn cn=new Conn();
    String sql="select * from gongyishebei";
    ResultSet rt=cn.executeQuery(sql);
    然后就出了那个错误了.后面的根本就执行不了.
      

  5.   

    代码是这样子的
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page  language="java" import="java.sql.*,votes.*"%>
    <%
     try
     {
    Conn conne=new Conn();
    String tt="SELECT * FROM gongyishebei";
    ResultSet re=conne.executeQuery(tt);
    while(re.next())
    {
    String a1=re.getString(1);
    String a2=re.getString(2);
    String a3=re.getString(3);
    String a4=re.getString(4);
    String a5=re.getString(5);
     %>
    <tr>
        <td><input type=text name=product><%=a1%></td>
        <td><input type=text name=technics><%=a2%></td>
        <td><input type=text name=equipmantname><%=a3%></td>
        <td><input type=text name=equipmanttype><%=a4%></td>
        <td><input type=text name=equipmantprorider><%=a5%></td>
    </tr>
    <%
    }
    }
    catch(Exception e )
    {
    out.print(e);
    }
    %>
    调用的那个方法就是那样子的
    没有改动的(讲一下我是在eclipse里写的,我想问一下
    那样子导入包会不会有问题呀,它的.java和.class在同一个目录下面
    Jcrator里.java是在包外的)
      

  6.   

    如果有问题 会抱class的错
    我怀疑 是你的返回的数据不对re.getString(5);
    应该是没有5个字段
      

  7.   

    或者你这样实验一下
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page  language="java" import="java.sql.*,votes.*"%>
    <%
     try
     {
    Conn conne=new Conn();
    String tt="SELECT * FROM gongyishebei";
    ResultSet re=conne.executeQuery(tt);
    while(re.next())
    { %>
    <tr>
        <td><input type=text name=product><%=re.getString(1)%></td>
        <td><input type=text name=technics><%=re.getString(2)%></td>
        <td><input type=text name=equipmantname><%=re.getString(3)%></td>
        <td><input type=text name=equipmanttype><%=re.getString(4)%></td>
        <td><input type=text name=equipmantprorider><%=re.getString(5)%></td>
    </tr>
    <%
    }
    }
    catch(Exception e )
    {
    out.print(e);
    }
    %>