标题:[求助]recordset的问题
只看楼主
woshishab
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2006-11-4
 问题点数:0 回复次数:9 
[求助]recordset的问题
很简单的代码:
<%
dim conn
set conn=server.CreateObject("adodb.connection")
dim sql
sql="driver={microsoft access driver (*.mdb)};dbq=e:\aspstation\database\db1.mdb"
conn.open sql
if request.Form("name")<>"" then
dim rs,str
set rs=server.CreateObject("adodb.recordset")
str="select * from user where name='"&trim(request.Form("name"))&"'"
rs.open str,conn,1,1
if rs.recordcount<=0 then
response.Write("c")
else
response.Write("a")
end if
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
运行就提示:错误类型:
Microsoft VBScript 运行时错误 (0x800A01A8)
缺少对象: ''
如果把rs.close去掉就没问题了,大家帮我看看,为什么?我是个初学者,这个recordset对象不是一定要关闭的么?

搜索更多相关主题的帖子: microsoft database access where 
2007-02-10 23:10
师妃暄
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:805
专家分:107
注 册:2006-3-1
得分:0 
你把rs.close
set rs=nothing
放到IF语句的里面.,看还会有这样的错误吗?

有实力才会有魅力 实力来自坚持不懈的努力
2007-02-11 00:45
woshishab
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2006-11-4
得分:0 
可以运行了,可是放到哪个分支语句里,哪个分支语句就出错
2007-02-11 10:35
woshishab
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2006-11-4
得分:0 
这次是把rs=nothing去掉后就正常
2007-02-11 10:37
师妃暄
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:805
专家分:107
注 册:2006-3-1
得分:0 

要把两句都放进去

放到第二句IF的上面


有实力才会有魅力 实力来自坚持不懈的努力
2007-02-11 23:41
woshishab
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2006-11-4
得分:0 
还是不行,提示:缺少对象
2007-02-14 11:21
做人很低调
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:1268
专家分:0
注 册:2006-8-2
得分:0 
以下是引用woshishab在2007-2-10 23:10:21的发言:
很简单的代码:
<%
dim conn
set conn=server.CreateObject("adodb.connection")
dim sql
sql="driver={microsoft access driver (*.mdb)};dbq=e:\aspstation\database\db1.mdb"
conn.open sql
if request.Form("name")<>"" then
dim rs,str
set rs=server.CreateObject("adodb.recordset")
str="select * from user where name='"&trim(request.Form("name"))&"'"
rs.open str,conn,1,1
if rs.recordcount<=0 then
response.Write("c")
else
response.Write("a")
end if
end if
rs.close
set rs=nothing

conn.close
set conn=nothing
%>
运行就提示:错误类型:
Microsoft VBScript 运行时错误 (0x800A01A8)
缺少对象: ''
如果把rs.close去掉就没问题了,大家帮我看看,为什么?我是个初学者,这个recordset对象不是一定要关闭的么?


如果红色部分的判断条件为假 就是说没有执行打开记录集的操作
那样
你下边写的
rs.close
set rs=nothing
当然就会提交缺少对象了


其实我很低调,只是你不知道...
2007-02-14 15:47
woshishab
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2006-11-4
得分:0 

我觉得斑竹说的很对,那么我把红色部分的语句去掉就应该没问题了
可是这次提示:
错误类型:
ADODB.Recordset (0x800A0E78)
对象关闭时,不允许操作。
这又是为什么呢?

2007-02-14 16:21
做人很低调
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:1268
专家分:0
注 册:2006-8-2
得分:0 
你是怎么去掉的

其实我很低调,只是你不知道...
2007-02-15 10:10
woshishab
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2006-11-4
得分:0 
if request.Form("name")<>"" then
end if
直接删了
2007-02-16 09:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-120590-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.131821 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved