ADODB.Command 错误 '800a0bb9' 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。

lilyclaire 2013-12-04 07:58:59
浏览器错误提示:
ADODB.Command 错误 '800a0bb9'
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
/admin/user_qx.asp,行 35
(注:代码中红色部分即35行)

网页界面:


服务器行为:




网页代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="../Connections/busi_conn.asp" -->
<%
Dim MM_editAction
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If

' boolean to abort record edit
Dim MM_abortEdit
MM_abortEdit = false
%>
<%
' IIf implementation
Function MM_IIf(condition, ifTrue, ifFalse)
If condition = "" Then
MM_IIf = ifFalse
Else
MM_IIf = ifTrue
End If
End Function
%>
<%
If (CStr(Request("MM_update")) = "form1") Then
If (Not MM_abortEdit) Then
' execute the update
Dim MM_editCmd

Set MM_editCmd = Server.CreateObject ("ADODB.Command")
MM_editCmd.ActiveConnection = MM_busi_conn_STRING
MM_editCmd.CommandText = "UPDATE [user] SET [class] = ? WHERE username = ?"
MM_editCmd.Prepared = true
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 5, 1, -1, MM_IIF(Request.Form("qx"), Request.Form("qx"), null)) ' adDouble
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", -1, 1, -1, MM_IIF(Request.Form("MM_recordId"), Request.Form("MM_recordId"), null)) ' N/A
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close

' append the query string to the redirect URL
Dim MM_editRedirectUrl
MM_editRedirectUrl = "showUser.asp"
If (Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
Response.Redirect(MM_editRedirectUrl)
End If
End If
%>
<%
Dim Recordset1__MMColParam
Recordset1__MMColParam = "1"
If (Request.QueryString("u") <> "") Then
Recordset1__MMColParam = Request.QueryString("u")
End If
%>
<%
Dim Recordset1
Dim Recordset1_cmd
Dim Recordset1_numRows

Set Recordset1_cmd = Server.CreateObject ("ADODB.Command")
Recordset1_cmd.ActiveConnection = MM_busi_conn_STRING
Recordset1_cmd.CommandText = "SELECT * FROM user WHERE username = ?"
Recordset1_cmd.Prepared = true
Recordset1_cmd.Parameters.Append Recordset1_cmd.CreateParameter("param1", 200, 1, 20, Recordset1__MMColParam) ' adVarChar

Set Recordset1 = Recordset1_cmd.Execute
Recordset1_numRows = 0
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<p>修改会员<%= Request.QueryString("u") %>的权限</p>
<form id="form1" name="form1" method="POST" action="<%=MM_editAction%>">
<p>
<label>
<input type="radio" name="qx" value="1" id="qx" />
管理员</label>
<br />
<label>
<input type="radio" name="qx" value="0" id="qx" />
普通会员</label>
</p>
<p>
<label>
<input type="submit" name="button" id="button" value="提交" />
</label>
<br />
</p>

<input type="hidden" name="MM_update" value="form1" />
<input type="hidden" name="MM_recordId" value="<%= Recordset1.Fields.Item("username").Value %>" />
</form>
<p>  </p>
</body>
</html>
<%
Recordset1.Close()
Set Recordset1 = Nothing
%>
...全文
948 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
huanglizhi889 2015-09-15
  • 打赏
  • 举报
回复
我也遇到这个问题,不知道改那里?
a23118691 2015-05-26
  • 打赏
  • 举报
回复
请教哥哥 你是修改哪里的参数啊?跪求啊!!!!我的qq540185032
lilyclaire 2013-12-05
  • 打赏
  • 举报
回复
谢谢!把参数类型改一下就行了
  • 打赏
  • 举报
回复
引用 楼主 lilyclaire 的回复:
浏览器错误提示: ADODB.Command 错误 '800a0bb9' 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。 /admin/user_qx.asp,行 35 (注:代码中红色部分即35行) 网页界面: 服务器行为: 网页代码: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!--#include file="../Connections/busi_conn.asp" --> <% Dim MM_editAction MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME")) If (Request.QueryString <> "") Then MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString) End If ' boolean to abort record edit Dim MM_abortEdit MM_abortEdit = false %> <% ' IIf implementation Function MM_IIf(condition, ifTrue, ifFalse) If condition = "" Then MM_IIf = ifFalse Else MM_IIf = ifTrue End If End Function %> <% If (CStr(Request("MM_update")) = "form1") Then If (Not MM_abortEdit) Then ' execute the update Dim MM_editCmd Set MM_editCmd = Server.CreateObject ("ADODB.Command") MM_editCmd.ActiveConnection = MM_busi_conn_STRING MM_editCmd.CommandText = "UPDATE [user] SET [class] = ? WHERE username = ?" MM_editCmd.Prepared = true MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 5, 1, -1, MM_IIF(Request.Form("qx"), Request.Form("qx"), null)) ' adDouble MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", -1, 1, -1, MM_IIF(Request.Form("MM_recordId"), Request.Form("MM_recordId"), null)) ' N/A MM_editCmd.Execute MM_editCmd.ActiveConnection.Close ' append the query string to the redirect URL Dim MM_editRedirectUrl MM_editRedirectUrl = "showUser.asp" If (Request.QueryString <> "") Then If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString Else MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString End If End If Response.Redirect(MM_editRedirectUrl) End If End If %> <% Dim Recordset1__MMColParam Recordset1__MMColParam = "1" If (Request.QueryString("u") <> "") Then Recordset1__MMColParam = Request.QueryString("u") End If %> <% Dim Recordset1 Dim Recordset1_cmd Dim Recordset1_numRows Set Recordset1_cmd = Server.CreateObject ("ADODB.Command") Recordset1_cmd.ActiveConnection = MM_busi_conn_STRING Recordset1_cmd.CommandText = "SELECT * FROM user WHERE username = ?" Recordset1_cmd.Prepared = true Recordset1_cmd.Parameters.Append Recordset1_cmd.CreateParameter("param1", 200, 1, 20, Recordset1__MMColParam) ' adVarChar Set Recordset1 = Recordset1_cmd.Execute Recordset1_numRows = 0 %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <p>修改会员<%= Request.QueryString("u") %>的权限</p> <form id="form1" name="form1" method="POST" action="<%=MM_editAction%>"> <p> <label> <input type="radio" name="qx" value="1" id="qx" /> 管理员</label> <br /> <label> <input type="radio" name="qx" value="0" id="qx" /> 普通会员</label> </p> <p> <label> <input type="submit" name="button" id="button" value="提交" /> </label> <br /> </p> <input type="hidden" name="MM_update" value="form1" /> <input type="hidden" name="MM_recordId" value="<%= Recordset1.Fields.Item("username").Value %>" /> </form> <p>  </p> </body> </html> <% Recordset1.Close() Set Recordset1 = Nothing %>
你这个是你数据库的字段要求的类型和你实际输入的类型不一样,所以就错误了 比如,要求数字的,你却添加了其他字符串,那就会有这个提示,还有不为空的如果你为空或者null也会提示错误

28,406

社区成员

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

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