在eclipse中想要插入一条记录用executeUpdate()怎么会报错?

时间:2022-10-28 14:52:25
在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)
真的很头晕,不知道是哪里出了错.

10 个解决方案

#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


不会 一般都是传递参数出的问题
你把出错的那页代码贴出来..你这几个写的没有什么问题

#6


好的马上到呵呵

#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())
{
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是在包外的)

#8


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

#9


或者你这样实验一下
<%@ 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);
}
%>

#10


out.println(e);

#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


不会 一般都是传递参数出的问题
你把出错的那页代码贴出来..你这几个写的没有什么问题

#6


好的马上到呵呵

#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())
{
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是在包外的)

#8


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

#9


或者你这样实验一下
<%@ 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);
}
%>

#10


out.println(e);