会计材料:ASP问题啊!!高手帮帮忙!!谢谢了

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/04 05:30:04
是一个信息写入数据库的ASP代码

<!--#include file="head.asp"-->
<table width="779" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="780" height="13" valign="top"><!--DWLayoutEmptyCell--> </td>
</tr>
<tr>
<td height="13" valign="top"><!--DWLayoutEmptyCell--> </td>
</tr>
<tr>
<td height="269" align="center" valign="middle">
<%
dim username,realname,xb,userpassword,userpwd,ask,answer,email
dim year,month,day,qq,tel,phone,addr,kfzl,qm
dim sql
submit=request("Submit")
if submit="提交" then
username=request("username")
realname=request("realname")
xb=request("xb")
userpassword=request("userpassword")
userpwd=request("userpwd")
ask=request("ask")
answer=request("answer")
email=request("email")
if username="" then
messes="·登录名不能为空"
else
set rs=server.CreateObject("ADODB.Recordset")
sql="select * from dbo.user where username='"& username &"'"
rs.open sql,conn,1,3
if not rs.eof and not rs.bof then
messes="·您的登录名已经被使用,请更改"
else
if username="" then
messes="·登录名不能为空"
elseif realname="" then
messes="·真实姓名不能为空"
elseif ***="" then
messes="·请选择性别"
elseif userpassword="" then
messes="·密码不能为空"
elseif len(username)<4 then
messes="·登录名不能小于4位"
elseif len(username)>20 then
messes="·登录名不能大于20位"
elseif len(userpassword)<6 then
messes="·密码不能小于6位"
elseif len(userpassword)>20 then
messes="·密码不能大于20位"
elseif userpwd<>userpassword then
messes="·确认密码和原密码不相同"
elseif ask="" then
messes="·密码问题不能为空"
elseif answer="" then
messes="·问题答案不能为空"
elseif answer=ask then
messes="·问题答案不能和密码问题相同"
elseif email="" then
messes="·Email不能为空"
else
rs.addnew
rs("username")=username
rs("realname")=realname
....(省略)
rs("qm")=qm
rs.update
messes="·注册成功"
end if
end if
rs.close
set rs=nothing
end if
end if
%><%=request("mess")%><%=messes%> </td>
</tr>
<tr>
<td height="13" valign="top"><!--DWLayoutEmptyCell--> </td>
</tr>
<tr>
<td height="25" align="center" valign="middle" background="../image/subbg.gif"><!--DWLayoutEmptyCell--> </td>
</tr>
<tr>
<td height="13" valign="top"><!--DWLayoutEmptyCell--> </td>
</tr>
<tr>
<td height="59" align="center" valign="middle"><!--#include file="over.asp"--> </td>
</tr>
</table>

运行后,提示说:错误类型:ADODB.Recordset (0x800A0BB9)参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。/include/chkregister.asp, 第 43 行

第 43 行就是红色那段(rs.open sql,conn,1,3)

我问别人说是要在rs前加上conn,才可以打开rs,我试着加了下,但是有个问题,就是我的数据库是windows直接登录,不需要用户名和密码,就是conn.open"dsn=alumni;uid=???;pwd=???"其中的uid和pwd不知道写什么,我的数据源是alumni,我不写uid和pwd,就说我sql登录失败!大家帮我看看,应该怎么写?

如果不是那个错误,那应该怎么写?怎么才能正确的连上数据库?!谢谢大家啦~数据库是SQL

1,先在这个set rs=server.CreateObject("ADODB.Recordset")
sql="select * from dbo.user where username='"& username &"'"之前加上
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};uid="你的用户名";pwd="你的密码";dbq="+Server.MapPath("你的数据库名")
2,再在它之后加上
rs.open sql,conn,1,1(或者2,3)
或者直接把原句(set rs部分)去掉conn.execute sql
总的就应该是这样:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};uid="你的用户名";pwd="你的密码";dbq="+Server.MapPath("你的数据库名")
sql="select * from dbo.user where username='"& username &"'"
conn.execute sql
或者
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};uid="你的用户名";pwd="你的密码";dbq="+Server.MapPath("你的数据库名")
sql="select * from dbo.user where username='"& username &"'"
rs.open sql,conn,1,1(或者2,3)

**另外可能错误的原因是,你要操作的相应字段的内容类型可能是数字型的,所以造成类型不匹配,如果是数字型的请把sql语句改成sql="select * from dbo.user where username="& username

sql="select * from dbo.user where username='"& username &"'"
不能这么写
sql="select * from dbo.user where username='"& username &"'"
dbo.user 是你的表吗。如果是的话最好不要加 .
还有最好是加上 []
http://freehost07.websamba.com/gvvvfg
这里有你想要的。

我就是提问者,因为不可以回答自己的问题,所以申请了个号!

5555555。。。。
数据库类型应该没问题,应该如果所有的都选char型不会有错吧~!
你第一个方案我不知道怎么写,对不起
因为我在问题上说了
我的SQL是WINDOWS是直接登录,就是安装的时候没有设置用户名和密码
所以在写
conn.Open "driver={Microsoft Access Driver (*.mdb)};uid="你的用户名";pwd="你的密码";dbq="+Server.MapPath("你的数据库名")
的时候,用户名和密码不知道是什么!并且我的数据库是SQL~不是ACCESS
不好意思,偶是新手,可能有点麻烦!但是希望能帮帮我~谢谢!

我觉得问题可能是SQL语句有问题。

如果你是二个页面的作的ASP你看看提交到的哪个页面有没有<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>这个,
有的话删掉它,它也可能造成冲突。