永发信息网

【ASP】如何解决这个错误?Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)

答案:3  悬赏:30  手机版
解决时间 2021-03-23 13:45
  • 提问者网友:献世佛
  • 2021-03-22 18:21
我使用ASP编程,出现了下面的错误,不知道如何更改,我个人判断是传值不成功导致的,请高手帮忙分析一下!

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

createresult.asp的部分代码:

sql="select * from jlcx"
set rs=createobject("adodb.recordset")
rs.open sql,conn,3,2
for k=1 to request("singlecount")
rs.addnew
rs("type")="单选题"
rs("userid")=session("test")
rs("starttime")=request("kstime")
dan=request("dxtda" & k)
rs("answer")=request("NO" & dan)
rs("testid")=request("testid")
rs("subject")=request("subject")
rs("question")=request("dxt" & k) <----27行,错误提示所在行
rs("text1")=request("dxta" & k)
rs("text2")=request("dxtb" & k)
rs("text3")=request("dxtc" & k)
rs("text4")=request("dxtd" & k)
rs("text5")=request("dxte" & k)
rs("text6")=request("dxtf" & k)
rs.update
next

敬请高手给予解决,如果解决的很满意的话,我会另加100分!

提交数据的ASP代码

" size="20">


<%if rs("text1")<>"" then%>

" size="20">

" size="20">

<%end if%>
<%if rs("text2")<>"" then%>

" size="20">


<%end if%>
  <%=i%>、<%=rs("question")%>
    " value="A">A、<%=rs("text1")%>
    " value="B">B、<%=rs("text2")%>

<%
j=j+1
rs.movenext
end if
next
rs.close
set rs=nothing
%>
最佳答案
  • 五星知识达人网友:枭雄戏美人
  • 2021-03-22 19:53
sql语句出错(数据类型不匹配或表/字段错误或处于编辑状态,或不存在于conn打开的数据库中)

1、检查字段名是否跟数据库里一样
2、是否数据库处于编辑状态
3、question字段,数据类型设置为文本?而提交数据时,文字过多?检查数据类型设置
全部回答
  • 1楼网友:渡鹤影
  • 2021-03-22 21:36
里面有好多错误啊 我就仔细看了下最少都有5个不知道你怎么搞的
  • 2楼网友:我住北渡口
  • 2021-03-22 20:08
request("dxt" & k) <----27行,错误提示所在行 据估计:其中request("dxt" & k)为空,而你的数据结构中设置这个字段不能为空,而造成的。 你改成if request("dxt" & k)<>"" then request("dxt" & k)试试!!! 希望能够解决你的问题。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯