asp编程遇到问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 18:48:59
当我点击修改按钮时出现如下错误:

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。
/admin/personnel/confirm.asp, 第 9 行

confirm.asp代码如下:

<!--#include file="../../conn/conn.asp" -->
<%

kaohe1=request("kaohe1")
kaohe2=request("kaohe2")
set rs=server.CreateObject("adodb.recordset")
sql="select * from kaohe"
rs.open sql,conn,1,2
rs("kaohe1")=kaohe1 '第9行
rs("kaohe2")=kaohe2
rs.update
response.Write "<script language=javascript>{window.alert('记录修改成功!请单击“确定”按钮查看信息');}</script>"

%>

modify.asp程序如下:

<%
set k=createobject("adodb.recordset")
sql="select * from kaohe"
k.open sql,conn,1,2
%>
<form action="confirm.asp" method="post&quo

粗浅的看法

在modify中,没有关闭数据库,而且用了 1,2的方法,没有关闭,从而禁止了其他事务的并行访问,

建议在modify中,改成rs.open 的 1,1 ,即只读方式

confirm用1,3:乐观锁定,以增加并行处理能力,减少出错可能。

个人观点

多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。

一般是因为数据超过了字段设定的长度.应该检查数据kaohe1的长度,或是在数据库中将字段长度设置得更长.