100分求救,救救小妹吧,我都快急死了!"多步 OLE DB 操作产生错误"

kaqia2003 2003-10-10 12:05:23
<% bmbhc=session("bmbhc")
gcmcc=session("gcmcc")
zbbhc=trim(session("zbbhc"))
tbdwc=session("tbdwc")
tbbhc=Session("yhm")
%>
<%
set conn=Server.CreateObject("adodb.connection")
conn.open "DSN=hxh_web;UID=sa;PWD=123"
set rs=server.createobject("adodb.recordset")
sql="select * from x_bm_web where zbbhc=" & "'" & zbbhc & "'" & " and tbbhc=" & "'" & tbbhc & "'"
rs.open sql,conn,3,2

if not rs.eof then

response.write"您已经对此项目报过名,不可重复报名!为了方便我们的工作,请您下次务必注意!"
else
rs.addnew
rs("bmbhc")=bmbhc
rs("zbgcc")=gcmcc
rs("tbdwc")=tbdwc
rs("tbbhc")=tbbhc
rs("bmsjd")=Cstr(now())
rs.update

rs.close
set rs=nothing
conn.close
set conn=nothing
end if
%>


Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

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

/wytq/ztbao/application_end.asp,行19
...全文
2436 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
tripofdream 2003-10-13
  • 打赏
  • 举报
回复
楼上的确细心
tripofdream 2003-10-10
  • 打赏
  • 举报
回复
先将这几句注释掉再试:
rs.close
set rs=nothing
conn.close
set conn=nothing
超级大笨狼 2003-10-10
  • 打赏
  • 举报
回复
<% bmbhc=session("bmbhc")
gcmcc=session("gcmcc")
zbbhc=trim(session("zbbhc"))
tbdwc=session("tbdwc")
tbbhc=Session("yhm")

set conn=Server.CreateObject("adodb.connection")
set rs=server.createobject("adodb.recordset")
conn.open "DSN=hxh_web;UID=sa;PWD=123"
sql="select * from x_bm_web where zbbhc='" & zbbhc & "' and tbbhc= 'tbbhc'"
rs.open sql,conn,3,2

if rs.RecordCount>0 then
response.write"您已经对此项目报过名,不可重复报名!为了方便我们的工作,请您下次务必注意!"
else
rs.addnew
rs("bmbhc")=bmbhc
rs("zbgcc")=gcmcc
rs("tbdwc")=tbdwc
rs("tbbhc")=tbbhc
rs("bmsjd")=Cstr(now())
rs.update
end if
rs.close
conn.close
set rs=nothing
set conn=nothing

%>
arbeng2002 2003-10-10
  • 打赏
  • 举报
回复
你的有个字段与request()的数据大小不合,如:{
字段a=varchar(50) 
request("a")="................"

而len(request("a"))的长度大于50的话就会出错下面的错误了
}

有时可以解决这个错误:{

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

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

/wytq/ztbao/application_end.asp,行19
}


-------------------------------------
<%
set Conn=Server.Createobject("ADODB.CONNECTION")
Connstr="Provider=SQLOLEDB.1;User ID=bbb;Password=bb;Initial Catalog=bbb;Data Source=(local)"
Conn.Open Connstr
%>

kaqia2003 2003-10-10
  • 打赏
  • 举报
回复
我的数据库是sybase

lxqlogo0(群子),你的写法我先前就试过了,问题还是一样存在.
kandyasp 2003-10-10
  • 打赏
  • 举报
回复
数据库文件 *.mdb 没有写权限
gmlxf 2003-10-10
  • 打赏
  • 举报
回复
<%
set Conn=Server.Createobject("ADODB.CONNECTION")
Connstr="Provider=SQLOLEDB.1;User ID=bbb;Password=bb;Initial Catalog=bbb;Data Source=(local)"
Conn.Open Connstr
%>
lxqlogo0 2003-10-10
  • 打赏
  • 举报
回复
<% bmbhc=session("bmbhc")
gcmcc=session("gcmcc")
zbbhc=trim(session("zbbhc"))
tbdwc=session("tbdwc")
tbbhc=Session("yhm")
%>
<%
set conn=Server.CreateObject("adodb.connection")
conn.open "DSN=hxh_web;UID=sa;PWD=123"
set rs=server.createobject("adodb.recordset")
sql="select * from x_bm_web where zbbhc=" & "'" & zbbhc & "'" & " and tbbhc=" & "'" & tbbhc & "'"
rs.open sql,conn,3,1

if not rs.eof then

response.write"您已经对此项目报过名,不可重复报名!为了方便我们的工作,请您下次务必注意!"
else
rs.addnew
rs("bmbhc")=bmbhc
rs("zbgcc")=gcmcc
rs("tbdwc")=tbdwc
rs("tbbhc")=tbbhc
rs("bmsjd")=Cstr(now())
rs.update

rs.close
set rs=nothing
conn.close
set conn=nothing
end if
%>
huejim 2003-10-10
  • 打赏
  • 举报
回复
1.如果你的页面前面有这行:{
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
请删了
}
有时可以解决这个错误:{
Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242
}

2.你的有个字段与request()的数据大小不合,如:{
字段a=varchar(50) 
request("a")="................"

而len(request("a"))的长度大于50的话就会出错下面的错误了
}

有时可以解决这个错误:{

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

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

/wytq/ztbao/application_end.asp,行19
}
angelheavens 2003-10-10
  • 打赏
  • 举报
回复
<% bmbhc=trim(session("bmbhc"))
gcmcc=trim(session("gcmcc"))
zbbhc=trim(session("zbbhc"))
tbdwc=trim(session("tbdwc"))
tbbhc=trim(Session("yhm"))
%>
<%
set conn=Server.CreateObject("adodb.connection")
conn.open "DSN=hxh_web;UID=sa;PWD=123"
set rs=server.createobject("adodb.recordset")
sql="select * from x_bm_web where zbbhc='"& zbbhc &"' and tbbhc='"&tbbhc&"'"
rs.open sql,conn,1,3

if not rs.eof then

response.write"您已经对此项目报过名,不可重复报名!为了方便我们的工作,请您下次务必注意!"
else
rs.addnew
rs("bmbhc")=bmbhc
rs("zbgcc")=gcmcc
rs("tbdwc")=tbdwc
rs("tbbhc")=tbbhc
rs("bmsjd")=Cstr(now())
rs.update

rs.close
set rs=nothing
conn.close
set conn=nothing
end if
%>
rexsp 2003-10-10
  • 打赏
  • 举报
回复
MS SQL Server数据库连接

用DSN连接:

<%
set conn = Server.CreateObject("ADODB.Connection")
conn.open "DSN=MyDSN;UID=user;PWD=password;DATABASE=databasename"
%>
heartsea 2003-10-10
  • 打赏
  • 举报
回复
c:\winnt\help\iishelp\common\500-100.asp确实有错,我发现windows2000打过补丁后asp出错就会提示缺少end的错误,我把上述文件给该了并添加了一些错误提示吧下面的代码覆盖你那个文件就不提示缺少end的错误了!改完后再看看什么错误提示按照提示一般可以处理!
<%@ language="VBScript" %>
<%
Option Explicit

Const lngMaxFormBytes = 200

Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP
Dim strMethod, lngPos, datNow, strQueryString, strURL

If Response.Buffer Then
Response.Clear
Response.Status = "500 Internal Server Error"
Response.ContentType = "text/html"
Response.Expires = 0
End If

Set objASPError = Server.GetLastError
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<html dir=ltr>

<head>
<style>
a:link {font:9pt 宋体; color:FF0000}
a:visited {font:9pt 宋体; color:#4e4e4e}
</style>

<META NAME="ROBOTS" CONTENT="NOINDEX">

<title>本页无法显示</title>

<META HTTP-EQUIV="Content-Type" Content="text-html; charset=gb2312">
<META NAME="MS.LOCALE" CONTENT="ZH-CN">
</head>

<script>
function Homepage(){
<!--
// in real bits, urls get returned to our script like this:
// res://shdocvw.dll/http_404.htm#http://www.DocURL.com/bar.htm

//For testing use DocURL = "res://shdocvw.dll/http_404.htm#https://www.microsoft.com/bar.htm"
DocURL=document.URL;

//this is where the http or https will be, as found by searching for :// but skipping the res://
protocolIndex=DocURL.indexOf("://",4);

//this finds the ending slash for the domain server
serverIndex=DocURL.indexOf("/",protocolIndex + 3);

//for the href, we need a valid URL to the domain. We search for the # symbol to find the begining
//of the true URL, and add 1 to skip it - this is the BeginURL value. We use serverIndex as the end marker.
//urlresult=DocURL.substring(protocolIndex - 4,serverIndex);
BeginURL=DocURL.indexOf("#",1) + 1;
urlresult=DocURL.substring(BeginURL,serverIndex);

//for display, we need to skip after http://, and go to the next slash
displayresult=DocURL.substring(protocolIndex + 3 ,serverIndex);
InsertElementAnchor(urlresult, displayresult);
}

function HtmlEncode(text)
{
return text.replace(/&/g, '&').replace(/'/g, '"').replace(/</g, '<').replace(/>/g, '>');
}

function TagAttrib(name, value)
{
return ' '+name+'="'+HtmlEncode(value)+'"';
}

function PrintTag(tagName, needCloseTag, attrib, inner){
document.write( '<' + tagName + attrib + '>' + HtmlEncode(inner) );
if (needCloseTag) document.write( '</' + tagName +'>' );
}

function URI(href)
{
IEVer = window.navigator.appVersion;
IEVer = IEVer.substr( IEVer.indexOf('MSIE') + 5, 3 );

return (IEVer.charAt(1)=='.' && IEVer >= '5.5') ?
encodeURI(href) :
escape(href).replace(/%3A/g, ':').replace(/%3B/g, ';');
}

function InsertElementAnchor(href, text)
{
PrintTag('A', true, TagAttrib('HREF', URI(href)), text);
}

//-->
</script>

<body bgcolor="FFFFFF">

<table width="410" cellpadding="3" cellspacing="5">

<tr>
<td align="left" valign="middle" width="360">
<h1 style="COLOR:000000; FONT: 9pt 宋体"><!--Problem-->本页无法显示</h1>
</td>
</tr>

<tr>
<td width="400" colspan="2">
<font style="COLOR:000000; FONT: 9pt 宋体">试图访问的网页出现问题,无法显示。</font></td>
</tr>

<tr>
<td width="400" colspan="2">
<font style="COLOR:000000; FONT: 9pt 宋体">

<hr color="#C0C0C0" noshade>

<p>请尝试以下方法:</p>

<ul>
<li id="instructionsText1">单击
<a href="javascript:location.reload()">
刷新</a>按钮或者梢候再试。<br>
</li>

<li>打开

<script>
<!--
if (!((window.navigator.userAgent.indexOf("MSIE") > 0) && (window.navigator.appVersion.charAt(0) == "2")))
{
Homepage();
}
//-->
</script>

主页,然后查找与所需信息相关的链接。 </li>
</ul>

<h2 style="FONT: 9pt 宋体; color:000000">HTTP 500.100 - 内部服务器错误 - ASP 错误<br>
Internet 信息服务</h2>

<hr color="#C0C0C0" noshade>

<p>技术信息(适用于支持人员)</p>

<ul>
<li>错误类型:<br>
<%
Dim bakCodepage
bakCodepage = Session.Codepage
Session.Codepage = 936
Response.Write Server.HTMLEncode(objASPError.Category)
If objASPError.ASPCode > "" Then Response.Write Server.HTMLEncode(", " & objASPError.ASPCode)
Response.Write Server.HTMLEncode(" (0x" & Hex(objASPError.Number) & ")" ) & "<br>"

If objASPError.ASPDescription > "" Then Response.Write Server.HTMLEncode(objASPError.ASPDescription) & "<br>"

blnErrorWritten = False

' Only show the Source if it is available and the request is from the same machine as IIS
If objASPError.Source > "" Then
strServername = LCase(Request.ServerVariables("SERVER_NAME"))
strServerIP = Request.ServerVariables("LOCAL_ADDR")
strRemoteIP = Request.ServerVariables("REMOTE_ADDR")
If (strServername = "localhost" Or strServerIP = strRemoteIP) And objASPError.File <> "?" Then
Response.Write Server.HTMLEncode(objASPError.File)
If objASPError.Line > 0 Then Response.Write ", 第 " & objASPError.Line & " 行"
If objASPError.Column > 0 Then Response.Write ", 第 " & objASPError.Column & " 列"
Response.Write "<br>"
Response.Write "<font style=""COLOR:000000; FONT: 9pt 宋体""><b>"
Response.Write Server.HTMLEncode(objASPError.Source) & "<br>"
If objASPError.Column > 0 Then Response.Write String((objASPError.Column - 1), "-") & "^<br>"
Response.Write "</b></font>"
blnErrorWritten = True
End If
End If

If Not blnErrorWritten And objASPError.File <> "?" Then
Response.Write "<b>"
Response.Write Server.HTMLEncode(objASPError.File)
If objASPError.Line > 0 Then Response.Write Server.HTMLEncode(", 第 " & objASPError.Line & " 行")
If objASPError.Column > 0 Then Response.Write ", 第 " & objASPError.Column & " 列"
Response.Write "</b><br>"
End If
%>
</li>
<p>
<li>错误号:<br>
<%= objASPError.Number %>
</li>
<p>
<p>
<li>出错信息:<br>
<%
response.write objASPError.description
%>
</li>
<p>
<p>
<li>浏览器类型:<br>
<%= Server.HTMLEncode(Request.ServerVariables("HTTP_USER_AGENT")) %>
</li>
<p>
<li>页:<br>
<%
strMethod = Request.ServerVariables("REQUEST_METHOD")

Response.Write strMethod & " "

If strMethod = "POST" Then
Response.Write Request.TotalBytes & " bytes to "
End If

Response.Write Request.ServerVariables("SCRIPT_NAME")

lngPos = InStr(Request.QueryString, "|")

If lngPos > 1 Then
Response.Write "?" & Server.HTMLEncode(Left(Request.QueryString, (lngPos - 1)))
End If

Response.Write "</li>"

If strMethod = "POST" Then
Response.Write "<p><li>POST 数据:<br>"
If Request.TotalBytes > lngMaxFormBytes Then
Response.Write Server.HTMLEncode(Left(Request.Form, lngMaxFormBytes)) & " . . ."
Else
Response.Write Server.HTMLEncode(Request.Form)
End If
Response.Write "</li>"
End If

%>
<p>
<li>时间:<br>
<%
datNow = Now()

Response.Write Server.HTMLEncode(FormatDateTime(datNow, 1) & ", " & FormatDateTime(datNow, 3))
Session.Codepage = bakCodepage
%>
</li>
</p>
<p>
<li>详细信息:<br>
<% strQueryString = "prd=iis&sbp=&pver=5.0&ID=500;100&cat=" & Server.URLEncode(objASPError.Category) & _
"&os=&over=&hrd=&Opt1=" & Server.URLEncode(objASPError.ASPCode) & "&Opt2=" & Server.URLEncode(objASPError.Number) & _
"&Opt3=" & Server.URLEncode(objASPError.Description)
strURL = "http://www.microsoft.com/ContentRedirect.asp?" & _
strQueryString
%>
<a href="<%= strURL %>">Microsoft 支持</a>
</li>
</p>

</font></td>
</tr>

</table>
</body>
</html>
cdsun 2003-10-10
  • 打赏
  • 举报
回复
数据库字段长度不通

rs("bmsjd")=Cstr(now())

这里直接
rs("bmsjd")=now()
就好了
lovehwq21 2003-10-10
  • 打赏
  • 举报
回复
自已动手,非衣足食!不过,还是CSDN的兄弟姐妹们给了你思路啊
kaqia2003 2003-10-10
  • 打赏
  • 举报
回复
谢谢各位了,我的问题终于解决了,是因为生成的字段和数据库对应字段长度不相符的原因.

silversnake 2003-10-10
  • 打赏
  • 举报
回复
顺便说一句,我也是用SYBASE数据库,好象还不能"select top 5"这样的查询语句,哎....
silversnake 2003-10-10
  • 打赏
  • 举报
回复
这个问题我也经常碰见,原因很可能是你"select * from ..."这句话,如果你数据库里这张表的字段很多的话可能就会产生OLE DB错误,你不妨从数据库中调用数据的时候用"select 用到的字段 from ..."没用到字段最好不要放进去。
超级大笨狼 2003-10-10
  • 打赏
  • 举报
回复
小妹,你的代码很不规范,rs.close 应该放在if外面,这样不论什么结果都能close掉而且可以set nothing.参考我写的,如果还有问题,那么
你的问题可能出现在数据类型上面,检查一下吧。

28,390

社区成员

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

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