我把access数据库改sql出现参数类型不正确

来源:百度知道 编辑:UC知道 时间:2024/09/24 23:47:05
sub chk()

dim sql
dim rs
dim username
dim password

username=request("user")
password=Request("pwd")
code=Request("code")

set rs=server.createobject("adodb.recordset")
sql="select * from admin where admin_id='"&username&"'"
rs.open sql,conn,1,3 (出错在这里)

if rs.eof and rs.bof then '检查用户是否存在
result="此用户不存在!"
elseif rs("admin_pw")<>password then '检测用户密码
result="密码错误!"
elseif Session("code")<>code then '检测附加码
result="请输入正确的附加码!"
else
result="登陆成功"
end if

if result="登陆成功" then
rs("lastlogin_time")=Trim(now())
rs("lastlogin_ip")=Trim(Request.ServerVariables("REMOTE_ADDR"))
rs.Update
session("web_admin"

& 前后 最好加空格

" & username & "'"

还有 前面应该包含连接文件
<!--#include fie=“conn.asp”-->

admin_id是自动编号还是字符?搞清楚

conn对象的数据库连接串需要修
---------------------------------------------
连接Access数据库时如下:
set conn=Server.CreateObject("ADODB.Connection")
conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0"
conn.open server.mappath("database.mdb")
------------------------------------------------
连接SQLServer数据库时
set conn=Server.CreateObject("ADODB.Connection")
conStr="provider=SQLOLEDB.1;User Id=SQLSERVER用户名;password= SQLSERVER密码;persist security info=false;initial catalog=数据库名;data source=SQLSERVER服务器IP;

conn.open conStr

倒,1楼的,有没有空格无所谓得
admin应该是保留字符,你加上[]看看,还有admin_id字段是int型的,那么你的查询中就不能加'',改成下面的:

sql="select * from [admin] where admin_id="&username&""