有两个关于ado对象应用的问题

clihua 2003-05-13 11:44:20
问题1
下面是一段程序:
<%
dim username
dim password
dim RS
dim sql
username=Request.Form("username")
password=Request.Form("password")



if (username <>"" and password <>"") then
sql ="select * from check where sname ='"& username &"'and spwd='"& password &"'"
Set adoconn=Server.CreateObject("ADODB.Connection")
adoconn.Open "DSN=system;UID=sa;PWD=sa;Database=shiyan"
set RS=adoconn.execute(sql)
if RS.EOF then
response.write"非法用户"
RS.Close
set RS = nothing
adoconn.Close
set adoconn=nothing
Response.End
end if
response.redirect"show.asp"
end if
%>
用iis浏览时,出现提示:set rs=adoconn.execute(sql)有错误。我确定数据库连接没问题,sql语句没问题。这种情况不止遇到了一次,别的同学也碰到过,就是瞎改,不知道怎么就能正确运行了。希望高手指点一下,多谢了。

问题2
rs.open sql,conn,1,1
总是提示这一行有问题。实在不明白,整个程序不运行,着急上火呀。

...全文
122 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhjjava 2003-05-13
  • 打赏
  • 举报
回复
问题2
rs.open sql,conn,1,1
总是提示这一行有问题。
我先给你简单说一下,假如你只需读取数据库,则后面的是1就可以了!
最好写为rs.open sql,conn,3,1

如果需要向数据库中添加记录,更新数据,则写为2!
rs.open sql,conn,3,2 //这句中3是“CursorType 属性 (ADO)”,2是“LockType 属性”
下面的连接有这两个属性的具体解释,我是从MSDN上搞下来,给别人的!他们的属性值从0开始计算!不懂问我!
更详细的内容看我别的帖子!
http://expert.csdn.net/Expert/topic/1768/1768213.xml?temp=.8688776
zhjjava 2003-05-13
  • 打赏
  • 举报
回复
你恰恰是数据库连接上出问题了!

我给你一个正确的:下面的驱动是ACCESS97的,
set conn=server.createobject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("votedata.mdb")
conn.Open DSNtemp
set rs=server.CreateObject("adodb.recordset")
sqlstr="select * from vote"
rs.Open sqlstr,conn,3,2
上面的代码比较规范,这样就可以确保已经和数据库连接上了!而且你用“if RS.EOF then”也不会出错了!
假如你想少点代码:请看:第二种方法:
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("votedata.mdb")
set rs=server.CreateObject("adodb.recordset")
sqlstr="select * from vote"
sqlstr=sqlstr &" where name='"&strname&"'"
rs.Open sqlstr,DSNtemp,3,2
也行,就是不是很完美!
把上面的代码中的数据库换做你的数据库名字,驱动需要改就改一下,就行了!
祝好运!
你的问题2看下面!
popcode 2003-05-13
  • 打赏
  • 举报
回复
if (username <>"" and password <>"") then
Set adoconn=Server.CreateObject("ADODB.Connection")
adoconn.Open "DSN=system;UID=sa;PWD=sa;Database=shiyan"
set RS=Server.CreateObject("ADODB.Recordset")
sql ="select * from check where sname ='"& username &"'and spwd='"& password &"'"
rs.open sql,conn,3,3
if RS.EOF then
response.write"非法用户"
RS.Close
set RS = nothing
adoconn.Close
set adoconn=nothing
Response.End
end if
response.redirect"show.asp"
end if

28,391

社区成员

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

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