求救:com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集。J2EE

ysw_wei 2009-05-19 09:15:49
这是小弟的代码:
try{
rs = stat.executeQuery(sql);

if(rs.next()){
do{
id ++;
//System.out.println(stat.executeUpdate(sql));
int n = stat.executeUpdate(sql);
System.out.println("n="+n);
if(n>0)System.out.println("<h4>插入成功</h4>");
else System.out.println("<h4>失败</h4>");

}while(rs.next());
}


}catch(SQLException e){
e.printStackTrace();

}
老是报rs = stat.executeQuery(sql);这句话没有结果集返回,这个问题该怎么解决,求救于各位大侠
以下是报错信息:

com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(Unknown Source)
at AddShoppingInfo.doPost(AddShoppingInfo.java:57)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
at java.lang.Thread.run(Thread.java:595)
...全文
3256 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyq251028399 2011-06-26
  • 打赏
  • 举报
回复
asdfas
Justxiao_kun 2011-04-19
  • 打赏
  • 举报
回复
了解了!

int count = st.executeUpdate(sql);
Jyie_DK 2010-08-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ysw_wei 的回复:]
我的问题解决了,原来是这里出错了
String sql = "insert into goods values("+id+",'"+goodscode+"','"+goodsname+"','"+category+"',"+price+","+quanitity+","+date+")";
rs = stat.executeQuery(sql);
其中参数sql:
sql - 要发送给……
[/Quote]

你好朋友,我正碰到这种情况,纠结 .请问你是怎么解决的,分享下
ysw_wei 2009-05-19
  • 打赏
  • 举报
回复
我的问题解决了,原来是这里出错了
String sql = "insert into goods values("+id+",'"+goodscode+"','"+goodsname+"','"+category+"',"+price+","+quanitity+","+date+")";
rs = stat.executeQuery(sql);
其中参数sql:
sql - 要发送给数据库的 SQL 语句,通常为静态 SQL SELECT 语句
我用成插入,呵呵


还是要谢谢前2位好心人的帮助
ysw_wei 2009-05-19
  • 打赏
  • 举报
回复
这是全部代码:
有点忘了说明,插入能插入,也能写到数据库里,但就是老要报那个错,我又找不出原因,郁闷
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

import com.sun.corba.se.spi.legacy.connection.Connection;


public class AddShoppingInfo extends HttpServlet {
java.sql.Connection con = null;
Statement stat = null;
ResultSet rs = null;
//private static final String drivername = "com.microsoft.jdbc.sqlserver.SQLServerDriver";//SQL Servler 2000
private static final String drivername = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL Servler 2005
private static final String url = "jdbc:sqlserver://127.0.01:1433;DatabaseName=Jumcoo;user=sa;password=123456;";
//数据库驱动程序初始化
public void init(ServletConfig config)throws ServletException{
super.init(config);
try{
Class.forName(drivername);
con = DriverManager.getConnection(url);
stat = con.createStatement();

}catch(Exception e){
e.printStackTrace();
}
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
int id = 0;
//获取html中相应属性
String goodscode = request.getParameter("goodscode");
String goodsname = request.getParameter("goodsname");
String category = request.getParameter("category");
String Price = request.getParameter("price");
float price = Float.parseFloat(Price);
String Quanitity = request.getParameter("quanitity");
int quanitity = Integer.parseInt(Quanitity);
String goodsdate = request.getParameter("goodsdate");
Date date = Date.valueOf(goodsdate);
//数据库插入语句
String sql = "insert into goods values("+id+",'"+goodscode+"','"+goodsname+"','"+category+"',"+price+","+quanitity+","+date+")";
System.out.println(sql);
String SelectTest = "Select * from goods";

try{
rs = stat.executeQuery(sql);

if(rs.next()){
do{
id ++;
int n = stat.executeUpdate(sql);
System.out.println("n="+n);
if(n>0)System.out.println("<h4>插入成功</h4>");
else System.out.println("<h4>失败</h4>");

}while(rs.next());
}


}catch(SQLException e){
e.printStackTrace();

}
//打印出数据库信息
try{
rs = stat.executeQuery(SelectTest);
if(rs.next()){
do{
System.out.println("////////////////"+rs.getString("id")+"~"+rs.getString("goodscode")+
"~"+rs.getString("goodsname")+"~"+rs.getString("category")+"~"+rs.getString("price")
+"~"+rs.getString("quanitity")+"~"+rs.getString("goodsdate"));
}while(rs.next());
}
}catch(Exception e){
e.printStackTrace();
}
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}

}
云霄飞车 2009-05-19
  • 打赏
  • 举报
回复
try{
open();
String sql =" ";
pst = con.prepareStatement(sql);
int count = stat.executeUpdate();
在来判断count
}
云霄飞车 2009-05-19
  • 打赏
  • 举报
回复
新手回答:
看聊你贴出的代码 你是执行 插入 操作,
报错是 没有结果集返回,
但在插入的时候本来就没结果集返回,
返回的是 影响的行数
java223653 2009-05-19
  • 打赏
  • 举报
回复
就这点怎么看出来呀,我觉得应该是你的访问数据库代码写错了,

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧