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
错误类型:
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的长度,或是在数据库中将字段长度设置得更长.