为什么我在jsp中执行executequery后,数据库数据进去了,但报错SQLException: No ResultSet was produced

jie_c 2002-05-09 10:57:22
执行第一个没问题,第二个有问题.]
而且session的赋值放在if外就不对
<%@ page contentType="text/html; charset=GBK" %>
<%@ page language="java" import="java.sql.*,java.io.*,java.lang.*"%>
<%@ page session="True"%>
<html>
<head>
<title>
login12345
</title>
</head>
<body>
<!--//头文件header.inc-->
<%--@ include file="header.inc"--%>
<%String nm,pwd;
nm = request.getParameter("nm");
pwd = request.getParameter("pwd");
%>
<%
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String url="jdbc:odbc:new_db";
//pubs为你的数据库的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from t_user where user_id='"+nm+"' and passwd='"+pwd+"'";
ResultSet rs=stmt.executeQuery(sql);

if (rs.next())
{out.println("yes");
String username;
String uid;
String did;
did=rs.getString("dept_id");
username=rs.getString("user_name");
uid=rs.getString("user_id");
session.putValue("userid",uid);
session.putValue("deptid",did);
String sql1="insert into t_log(user_name,user_id,log_datetime) values('"+username+"','"+uid+"',getdate())";
ResultSet rs1=stmt.executeQuery(sql1);

response.sendRedirect("Jsp1.jsp");
}
else
{out.println("no");
response.sendRedirect("indexerr.htm");
}
}
catch(Exception e)
{
out.println(e.toString()+"12343");
}
%>
</body>
<!--//尾文件footer.inc-->
<%--@ include file="footer.inc"--%>
</html>
...全文
159 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jie_c 2002-05-10
  • 打赏
  • 举报
回复
谢谢各位
waterdragonfly 2002-05-09
  • 打赏
  • 举报
回复
因为你的第二个SQL语句
"insert into t_log(user_name,user_id,log_datetime) values('"+username+"','"+uid+"',getdate())";
不产生结果集!
worldheart 2002-05-09
  • 打赏
  • 举报
回复
你还可以判断rsl的值是否为1,如果是,说明你的程序是对的!!!
worldheart 2002-05-09
  • 打赏
  • 举报
回复
应该这样:

String sql1="insert into t_log(user_name,user_id,log_datetime)
values('"+username+"','"+uid+"',getdate())";
int rs1=stmt.executeUpdate(sql1);
worldheart 2002-05-09
  • 打赏
  • 举报
回复
ResultSet rs1=stmt.executeQuery(sql1);

问题出至于:你没有弄清楚:

executeUpdate,executeQuery的区别!!!
pengji 2002-05-09
  • 打赏
  • 举报
回复
String sql1="insert into t_log(user_name,user_id,log_datetime) values('"+username+"','"+uid+"',getdate())";
ResultSet rs1=stmt.executeUpdate(sql1);
jie_c 2002-05-09
  • 打赏
  • 举报
回复
那我是不是该用executeupdate(sql1)

81,122

社区成员

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

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