注册 登录
编程论坛 ASP技术论坛

ODBC 驱动程序不支持所需的属性(又出新问题了)

梦自在 发布于 2007-12-03 20:44, 2091 次点击
出现以下错误,大虾帮忙解答下.,.谢谢,数据库建的都是对的
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。
/login.asp, 第 17 行
程序代码:
<%
dim Conn,SQL,RS
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "Dbq="&Server.MapPath("update.mdb")&"; Driver={Microsoft Access Driver (*.mdb)}"
Conn.Open
Set RS=Server.CreateObject("ADODB.Recordset")
SQL="select * from user where username='"&username&"' and password='"&password&"'"
RS.Open SQL,Conn,1,1
success=RS.RecordCount
response.write("success="&success)
RS.Close
Set RS=nothing
Conn.Close
Set Conn=nothing
%>


[[italic] 本帖最后由 梦自在 于 2007-12-4 19:31 编辑 [/italic]]
12 回复
#2
multiple19022007-12-03 20:54
你给了15行。
#3
multiple19022007-12-03 20:54
下次自己标个行号,或者起码把出错行标出来。
#4
madpbpl2007-12-04 00:17
SQL="select * from user where username='"&username&"' and password='"&password&"'"
改成
SQL="select * from [user] where username='"&username&"' and password='"&password&"'"
数据库关键字要加“[]”
#5
梦自在2007-12-04 18:30
user
我这是表名,
第 17 行就是这行 RS.Open SQL,Conn,1,1
我加了括号还是这错误
我把
程序代码:
Set RS=Server.CreateObject("ADODB.Recordset")
SQL="select * from user where username='"&username&"' and password='"&password&"'"
RS.Open SQL,Conn,1,1
success=RS.RecordCount
response.write("success="&success)
RS.Close
Set RS=nothing
Conn.Close
Set Conn=nothing
删去后就好了.
到底是哪里出问题了啊?

[[italic] 本帖最后由 梦自在 于 2007-12-4 18:32 编辑 [/italic]]
#6
madpbpl2007-12-04 19:10
SQL="select * from [user] where username='"&username&"' and password='"&password&"'"
1.user一定要加[],
2.红色的username和password的值哪来的呢?
应该是从一个表单传过来的数据吧?
所以在你程序开头要加上
username=Request("username")
password=Request("password")
#7
梦自在2007-12-04 19:30
[bold] 非常感谢[/bold]~!!!我又重打了一遍,出现了这错误
错误类型: ADODB.Connection (0x800A0E78) 对象关闭时,不允许操作。 /login.asp, 第 20 行
success=rs.RecordCount
response.write("success="&success)
rs.close
set rs=nothing
Conn.close
set Conn=nothing
删去就好了.,打上去就出错.,
程序代码:

<%
dim Conn,SQL,rs,success
username=Request("username")
password=Request("password")
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "Dbq="&Server.MapPath("update.mdb")&"; Driver={Microsoft Access Driver (*.mdb)}"
Conn.Open
SET rs=Server.CreateObject("ADODB.Connection")
SQL="select * from [user] where username='" & username &"' and password='" & password &"'"
rs.open SQL,Conn,1,1
success=rs.RecordCount
response.write("success="&success)
rs.close
set rs=nothing
Conn.close
set Conn=nothing
%>
#8
madpbpl2007-12-04 19:41
/login.asp, 第 20 行
按我猜测,这个应该是判断登陆的程序,楼主应该检查login.asp
#9
梦自在2007-12-04 19:46
这就是login.asp所有的内容啊,关键是
success=rs.RecordCount
response.write("success="&success)
rs.close
set rs=nothing
Conn.close
set Conn=nothing
加上去就出错,不加就没错,我传文件上来大虾再帮我看看啊.实在是找不出原因了啊./
#10
梦自在2007-12-04 20:11
昏,弄了半天原来是数据库问题,重新写一遍就好了./
#11
madpbpl2007-12-04 20:13
这个没猜出来,有过怀疑。唉。。。
#12
yms1232007-12-04 20:14
IF rs.State=1 Then
    rs.close
End IF
加一句这个试试。
#13
skybirdzw2007-12-05 09:06
回复 9# 的帖子
仔细看一下这个页面是否引用了连接数据库的那个文件,这个原因可能是conn没有值导致的.
1