ADODB.Recordset (0x800A0BB9)参数类型不正确,或不在可以接受的范围之内,或与其register.asp 第24行 5

<%@LANGUAGE="VBSCRIPT"%><!--#includefile="Connections/conn.asp"--><%DimMM_editActionM... <%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/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
%>
<%
' *** Redirect if username exists
MM_flag="MM_insert"
If (CStr(Request(MM_flag)) <> "") Then
MM_dupKeyRedirect="RegisterFailure.html"
MM_rsKeyConnection=MM_conn_STRING
MM_dupKeyUsernameValue = CStr(Request.Form("UserName"))
MM_dupKeySQL="SELECT User FROM user WHERE User='" & MM_dupKeyUsernameValue & "'"
MM_adodbRecordset="ADODB.Recordset"
set MM_rsKey=Server.CreateObject(MM_adodbRecordset)
MM_rsKey.ActiveConnection=MM_rsKeyConnection
MM_rsKey.Source=MM_dupKeySQL
MM_rsKey.CursorType=0
MM_rsKey.CursorLocation=2
MM_rsKey.LockType=3
MM_rsKey.Open
If Not MM_rsKey.EOF Or Not MM_rsKey.BOF Then
' the username was found - can not add the requested username
MM_qsChar = "?"
If (InStr(1,MM_dupKeyRedirect,"?") >= 1) Then MM_qsChar = "&"
MM_dupKeyRedirect = MM_dupKeyRedirect & MM_qsChar & "requsername=" & MM_dupKeyUsernameValue
Response.Redirect(MM_dupKeyRedirect)
End If
MM_rsKey.Close
End If
%>
<%
If (CStr(Request("MM_insert")) = "RegisterForm") Then
If (Not MM_abortEdit) Then
' execute the insert
Dim MM_editCmd
Set MM_editCmd = Server.CreateObject ("ADODB.Command")
MM_editCmd.ActiveConnection = MM_conn_STRING
MM_editCmd.CommandText = "INSERT INTO [user] ([User], Password) VALUES (?, ?)"
MM_editCmd.Prepared = true
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 201, 1, -1, Request.Form("UserName")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 201, 1, -1, Request.Form("Password")) ' adLongVarChar
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
' append the query string to the redirect URL
Dim MM_editRedirectUrl
MM_editRedirectUrl = "RegisterSuccess.html"
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
%>
展开
 我来答
jiangxibaiyi
2012-10-02 · 跟随风去旅行-伤心的歌
jiangxibaiyi
采纳数:3973 获赞数:14411

向TA提问 私信TA
展开全部
DW自动生成的代码吧?
大致看了一下这些代码,应该是实现2个功能,写入数据库和读取数据库。
其实这2个功能的代码完全可以不用这么复杂、这么多的代码,可惜你看不懂也不会写代码。
只会依赖DW的那些个自动按钮,而造成这么多代码。。。。。
追问
你就不能指出错误在哪?或者鉴于这弄个简洁的?胖子不是一口吃成的,我也要一步步来啊
追答
别误会!说实话,起初我和你一样,也是使用DW自动生成代码,在一段时间后,发现,这种方式的弊端很多很多,比如:由于是自动生成的,所以自己都看不懂代码,对以后的维护,比如修改等,造成很大的不方便。再次,DW自动生成的代码,是典型的面对过程编程方式,往往一个相同的规则、方法都在每个页面重新写一次,这样的后果就是:代码臃肿、繁琐,而且也不易维护!
最重要的是:DW自动生成代码编程法,往往都是使用数据源进行数据库连接,但恰恰的是,用户是无法在虚拟主机上建立自己程序相应的数据源的,造成完成的程序上传虚拟服务器后,无法访问!

我的意思很简单,当然,也没有什么说指责你或者说你的方式不行的意思,所以你别误会。
我的意思是:
第一、由于我在起初不就后就转向了学习手写代码,一个一个字母打上去的代码,如果你这个程序代码是手写的,我完全能看得懂,但由于你这个是DW自动生成的,所以我也只是看个大概,要100%看懂,我也不行!
第二、我只是建议你即刻开始学习手写asp代码,但不是说你一定得按照我的方式去做。所以,你别误会和激动。。。。
缓步莫迟疑C
2012-10-02 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6217
采纳率:73%
帮助的人:6468万
展开全部
检查一下你的Connections/conn.asp文件,看看有没有定义MM_conn_STRING变量并赋值,该变量应该保存的是你的数据库连接字符串,但在你贴出来的代码中并没有为该变量赋过值,如果conn.asp文件中也没有赋值,或是使用了其它变量名的话,在第24行时就会是空串,那么肯定是会报错的.
其实如果手写这样的代码,有三五行代码就够了,不用像生成代码那样麻烦.
更多追问追答
追问
有MM_conn_STRING = "dsn=login;"
%>
烦死了,会员注册与登录系统都弄一个月了。现在这个是下载的成套的系统,但结果是
一、本地登录正常,注册时提示以上错误
二、传到空间后,login注册登录综合页面打不开,直接提示下载
追答
DSN是要通过ODBC管理器写到系统注册表中的,即使你在本地调试通过,上传到服务器上也不能用,因为服务器上并没有保存你的DSN信息,除非你有服务器的远程管理权限,手动配置一下.否则最好使用数据库驱动字符串来进行数据库连接.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式