有两个参数是获取同个url的id的,也没问题吧?
只是执行的时候for i=1 to rs_show.recordcount 报错:“对象关闭时,不允许操作。”
<%
dim sql
sql="select * from article where id="&cint(request.querystring("id"))
set rs=getSqlRecordset(sql,"database/mydb.mdb","article")
%>‘’用来显示内容的
<%
dim sql_show,pid
pid=request.querystring("id")
sql_show="select * from reply where id="&pid
set rs_show=getsqlrecordset(sql_show,"database/mydb.mdb","reply")
for i=1 to rs_show.recordcount‘这句被报错
%>‘’用来显示留言的
<%
rs_show.movenext
if rs_show.eof then exit for
next
%>
<%
rs.close
set rs=nothing
rs_show.close
set rs_show=nothing
%>
13 个解决方案
#1
getsqlrecordset 贴出来。
#2
<%
rs.close
set rs=nothing
rs_show.close
set rs_show=nothing
%>
改成
<%
rs_show.close
set rs_show=nothing
rs.close
set rs=nothing
%>
rs.close
set rs=nothing
rs_show.close
set rs_show=nothing
%>
改成
<%
rs_show.close
set rs_show=nothing
rs.close
set rs=nothing
%>
#3
getsqlrecordset是什么东东?
#4
不好意思,让大家迷惑了,getsqlrecordset是打开sql和数据库的函数
内容如下:
内容如下:
function getSqlRecordset(sql,filename,tablename)
dim conn
on error resume next
set conn=server.CreateObject("adodb.connection")
conn.connectionstring="provider=microsoft.jet.oledb.4.0;"&"data source="&server.MapPath(filename)
conn.open
set getSqlRecordset=server.CreateObject("adodb.recordset")
getSqlRecordset.open sql,conn,1,3
end function
#5
结果是一样的。
即使我把这两句都删了也是一样的结果,执行到那里就出错了
#6
...
怎么没人回了,吃饭去先
怎么没人回了,吃饭去先
#7
把FOR 改成 do while not rs_show.eof 试试。
#8
不明白你为什么要这样写!
#9
这样定义
set rs_show=getsqlrecordset(sql_show,"database/mydb.mdb","reply")
然后这样调用明显错误
#10
function getSqlRecordset(sql,filename,tablename)
dim conn
on error resume next
set conn=server.CreateObject("adodb.connection")
conn.connectionstring="provider=microsoft.jet.oledb.4.0;"&"data source="&server.MapPath(filename)
conn.open
set getSqlRecordset=server.CreateObject("adodb.recordset")
getSqlRecordset.open sql,conn,1,3
end function
改成
function getSqlRecordset(sql,filename,tablename)
dim conn
on error resume next
set conn=server.CreateObject("adodb.connection")
conn.connectionstring="provider=microsoft.jet.oledb.4.0;"&"data source="&server.MapPath(filename)
conn.open
set rs_show=server.CreateObject("adodb.recordset")
rs_show.open sql,conn,1,3
end function
set rs_show=getsqlrecordset(sql_show,"database/mydb.mdb","reply")
这句改成
getsqlrecordset(sql_show,"database/mydb.mdb","reply")
#11
本来那个函数是我从书中得来的,是为了方便多次调用,现在用你这种方法的话就只能用一次了啊?
再研究会...
#12
rs.open sql,constr1,1,1打开记录集
#13
嘿嘿,解决了,那个函数应该没错的。
我很安份地把那rs_show打开数据库写成最正常的形式
set rs_show=server.CreateObject("adodb.recordset")
rs_show.open sql_show,conn,1,3
测试后提示数据类型不匹配,才发现reply中的id,我定义成了文本...
现在改成数字就成了。
汗,谢谢大家了!!
我很安份地把那rs_show打开数据库写成最正常的形式
set rs_show=server.CreateObject("adodb.recordset")
rs_show.open sql_show,conn,1,3
测试后提示数据类型不匹配,才发现reply中的id,我定义成了文本...
现在改成数字就成了。
汗,谢谢大家了!!
#1
getsqlrecordset 贴出来。
#2
<%
rs.close
set rs=nothing
rs_show.close
set rs_show=nothing
%>
改成
<%
rs_show.close
set rs_show=nothing
rs.close
set rs=nothing
%>
rs.close
set rs=nothing
rs_show.close
set rs_show=nothing
%>
改成
<%
rs_show.close
set rs_show=nothing
rs.close
set rs=nothing
%>
#3
getsqlrecordset是什么东东?
#4
不好意思,让大家迷惑了,getsqlrecordset是打开sql和数据库的函数
内容如下:
内容如下:
function getSqlRecordset(sql,filename,tablename)
dim conn
on error resume next
set conn=server.CreateObject("adodb.connection")
conn.connectionstring="provider=microsoft.jet.oledb.4.0;"&"data source="&server.MapPath(filename)
conn.open
set getSqlRecordset=server.CreateObject("adodb.recordset")
getSqlRecordset.open sql,conn,1,3
end function
#5
结果是一样的。
即使我把这两句都删了也是一样的结果,执行到那里就出错了
#6
...
怎么没人回了,吃饭去先
怎么没人回了,吃饭去先
#7
把FOR 改成 do while not rs_show.eof 试试。
#8
不明白你为什么要这样写!
#9
这样定义
set rs_show=getsqlrecordset(sql_show,"database/mydb.mdb","reply")
然后这样调用明显错误
#10
function getSqlRecordset(sql,filename,tablename)
dim conn
on error resume next
set conn=server.CreateObject("adodb.connection")
conn.connectionstring="provider=microsoft.jet.oledb.4.0;"&"data source="&server.MapPath(filename)
conn.open
set getSqlRecordset=server.CreateObject("adodb.recordset")
getSqlRecordset.open sql,conn,1,3
end function
改成
function getSqlRecordset(sql,filename,tablename)
dim conn
on error resume next
set conn=server.CreateObject("adodb.connection")
conn.connectionstring="provider=microsoft.jet.oledb.4.0;"&"data source="&server.MapPath(filename)
conn.open
set rs_show=server.CreateObject("adodb.recordset")
rs_show.open sql,conn,1,3
end function
set rs_show=getsqlrecordset(sql_show,"database/mydb.mdb","reply")
这句改成
getsqlrecordset(sql_show,"database/mydb.mdb","reply")
#11
本来那个函数是我从书中得来的,是为了方便多次调用,现在用你这种方法的话就只能用一次了啊?
再研究会...
#12
rs.open sql,constr1,1,1打开记录集
#13
嘿嘿,解决了,那个函数应该没错的。
我很安份地把那rs_show打开数据库写成最正常的形式
set rs_show=server.CreateObject("adodb.recordset")
rs_show.open sql_show,conn,1,3
测试后提示数据类型不匹配,才发现reply中的id,我定义成了文本...
现在改成数字就成了。
汗,谢谢大家了!!
我很安份地把那rs_show打开数据库写成最正常的形式
set rs_show=server.CreateObject("adodb.recordset")
rs_show.open sql_show,conn,1,3
测试后提示数据类型不匹配,才发现reply中的id,我定义成了文本...
现在改成数字就成了。
汗,谢谢大家了!!