求助:java.sql.ResultSet添加记录出错!(100分)

  • 主题发起人 主题发起人 csz
  • 开始时间 开始时间
C

csz

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是Oracle,打开数据表并输出没问题,
可是一调rs.moveToInsertRow();就出错
数据库字段允许为空且没有trigger和其他限制,用insert语句执行能成功。
web端错误:
10.5.1 500 Internal Server Error
The server encountered an unexpected condition which prevented it from fulfilling the request.
整个代码如下:
<%@page contentType="text/html;
charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

String url="jdbc:oracle:thin:@132.147.0.254:1521:ora8";
String user="csz";
String password="csz";
Connection conn= DriverManager.getConnection(url,user,password);

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

String sql="select * from T_User";

ResultSet rs=stmt.executeQuery(sql);
rs.moveToInsertRow();//开始出错
rs.updateString(2, "logname");
rs.updateString(3, "username");
rs.insertRow();
rs.moveToCurrentRow();
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%><br>
您的第二个字段内容为:<%=rs.getString(2)%><br>
您的第三个字段内容为:<%=rs.getString(3)%><br>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
服务器提示错误是:
对只读结果集的无效操作:moveToInsertRow
哪位朋友知道的,请help~
kehua请再帮我想想:)
 
创建可更新的结果集是JDBC2.0新引进的功能,Oracle的JDBC有一些限制,如查询只能对单个表
进行,不能有join操作。不能用“select * "这类查询,具体的看一看Oracle的文档。
你可以这样写查询语句
select t.* from T_User t

select field1,field2,field3 from T_User
 
哈哈,问题搞定了,tnnd困扰我N多天。。。。。
多谢kehua,分全给你了~~
 
csz大侠,怎么搞定的?能说吗?很急,谢谢了!
 
to zqs10597249:上面kehua不是已经有回复了吗?
查询语句不能用*,必须写出具体字段
select t.* from T_User t

select field1,field2,field3 from T_User
not :select * from T_User
 
csz大侠:
这个我搞定了,您以前搞过文件的上传和下载吗?
到我的帖子
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2008566
 
别叫我什么大侠,我和你差不多呵呵
以前做过,其实也就是把文件流分隔出来,存为文件
网上有不少代码你可以参考的
 
后退
顶部