请大家帮忙.

frankrenping 2009-10-14 10:30:06
下面代码是统计在线的访问者;但有错误提示如下:

Microsoft OLE DB Provider for SQL Server 错误 '80040e21'

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

/asp/who's on line.asp,行 222

请帮分析下原因,谢谢.
<%..conn.asp...%>
<%
if session("visit")<>1 and session("username")="" then
set rs=server.CreateObject("adodb.recordset")
sql="select * from customer1"
rs.open sql,conn,1,3
rs.addnew
rs("uid")=session.SessionID
rs("username")="????"&session.SessionID
rs("enter")=0
rs("time")=now()
rs.update
rs.close
session("visit")=1
end if
if session("username")<>"" then
set rs=server.CreateObject("adodb.recordset")
sql="select * from customer1 where id='"&session.SessionID&"'"
rs.open sql,conn,1,3
rs("username")=session("username")
rs("enter")=1
rs("time")=now()
rs.update
rs.close
end if
%>
<%
set rs=server.CreateObject("adodb.recordset")
rs.open "delete * from customer1 where datediff('s',time,now())>60",conn,3,1
%>
<%
set rs1=server.CreateObject("adodb.recordset")
sql1="select * from customer1"
rs1.open sql1,conn,1,3
if not rs1.eof then
counts=rs1.recordcount
do while not rs1.eof
response.Write(rs1("username")&"<br>")
rs1.movenext
loop
end if
%>
<meta http-equiv="refresh" content="5">
...全文
40 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
babycry627 2009-10-14
  • 打赏
  • 举报
回复
检查一个数据的类型都是匹配的吗
南三方 2009-10-14
  • 打赏
  • 举报
回复
出现这样的错误,一般是因为update进去的数据长度超过了数据库字段的长度或者是数据类型不匹配导致,请留意检查字段读取部分所针对的字段的类型和长度。
frankrenping 2009-10-14
  • 打赏
  • 举报
回复
自己顶一下,请高手练刀.

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧