注册 登录
编程论坛 J2EE论坛

JSP连接数据库 显示是没有成功 但实际上已经对数据库进行了操作,迷惑中???

豚豚2007 发布于 2007-11-12 20:31, 904 次点击
数据源是new 数据库名称是jacky 表的名称是TABLE1
运行后,显示的错误是 No ResultSet was produced
但再次运行,就会出现:不能在对象 'TABLE1' 中插入重复键。
而且在数据库的表中也的确把内容插入了,是什么原因呢?


<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*" %>
<html>
<body>
<%try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String url="jdbc:odbc:new";
String user="sa";
String password="442352";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
stmt.executeQuery("insert into jacky.dbo.TABLE1(name,sno) values('jacky','1')");
String sql="select*from jacky.dbo.TABLE1";
ResultSet rs=stmt.executeQuery(sql);
while (rs.next())
{
out.print(rs.getString("name")+"<br>");
out.print(rs.getString("sno")+"<br>");
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e){out.print(e.toString());}
%>
</body>
</html>

[此贴子已经被作者于2007-11-12 20:32:14编辑过]

6 回复
#2
StarScar2007-11-13 09:33
stmt.executeQuery("insert into jacky.dbo.TABLE1(name,sno) values('jacky','1')");
executeQuery()要求返回ResultSet对象,插入语句返回的是int。

[此贴子已经被作者于2007-11-13 9:41:33编辑过]

#3
麻花2007-11-13 11:41
stmt.executeQuery("insert into jacky.dbo.TABLE1(name,sno) values('jacky','1')");

应改为stmt.executeUpdate("sql");
#4
豚豚20072007-11-13 22:53
以下是引用StarScar在2007-11-13 9:33:32的发言:
stmt.executeQuery("insert into jacky.dbo.TABLE1(name,sno) values('jacky','1')");
executeQuery()要求返回ResultSet对象,插入语句返回的是int。


把executeQuery该成executeUpdate应该是需要的,但executeUpdate返回的是int,所以就是2楼说的问题,那该怎么做呢?

[此贴子已经被作者于2007-11-13 23:02:27编辑过]

#5
guoxhvip2007-11-14 00:46
增加完再查询
#6
a2762024602007-11-14 14:29
没有提交到服务器 但是存在了缓存里
#7
豚豚20072007-11-14 15:45
增加完再查询是一样的,输出的错误跟原来的一样
1