[求助!!]求高手帮忙(ASP)

moutaindew 2003-09-02 10:15:41
我写了一段代码想要从SQL SERVER的表中取出ID数,
可总是报错”行集不支持反向取“
这个程序单位一直催着交,
可做到这一步就搁浅了,
望高人指点,
本人感激不尽!
源代码如下:
<%

Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="Provider=SQLOLEDB;Data Source=xw-rjk9108133;Uid=sa;Pwd=801230;Database=mydbbak"
Conn.Open Connstr
set rs=server.createobject("adodb.recordset")
'set rs2=server.createobject("adodb.recordset")
sql="select * from singlechoose where range=1 order by id desc"
rs.open sql,conn,1,3
for k=0 to rs.recordcount-1
if rs.eof then exit for
str=str&Cstr(rs("id"))&"|"
rs.movenext
next
rs.movefirst
firstid=rs("id")
rs.movelast
endid=rs("id")
recordnum=endid-firstid+1
rs.close
%>
...全文
31 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
富察咪咪 2003-09-03
  • 打赏
  • 举报
回复
rs.open sql,conn,1,3
if not rs.eof and rs.bof Then
rs.movefirst
firstid=rs("id")
Do While Not rs.Eof
str=str&Cstr(rs("id"))&"|"
rs.movenext
Loop
endid=rs("id")
End if
moutaindew 2003-09-02
  • 打赏
  • 举报
回复
我做的那个主程序如下:
发现还是报”行集不支持反向取”的错误
郁闷啊!!


<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="conn.asp" -->
<%
if request("gtype")<>"add" then
response.end
end if
testtype=request("testtype")
testrangeid=request("testrange")
set rs=server.createobject("adodb.recordset")
sql="select * from singlechoose where range='"&testrangeid&"' order by id desc"
rs.open sql,conn,1,3

for k=0 to rs.recordcount-1
if rs.eof then exit for
str=str&Cstr(rs("id"))&"|"
rs.movenext
next
rs.movefirst
firstid=rs("id")
rs.movelast
endid=rs("id")
recordnum=endid-firstid+1
rs.close
tempstr=""
randomize()
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<table border="0" cellpadding="0" cellspacing="0" width="750" align="center">
<tr>
<td width="150" valign="top"> <form method="POST" action="test-check.asp" target="_self">
<%
i=0
while(i<5)
tempnum=fix((recordnum+1)*Rnd())+1
destrecordid=firstid+tempnum
if not instr(tempstr,Cstr(tempnum)) and instr(str,Cstr(destrecordid)) then
tempstr=tempstr&"|"&Cstr(tempnum)

set rs1=server.CreateObject(adodb.recordset)
sql1="select * from "&testtype&" where id=" & destrecordid
rs1.open sql1,conn,1,3
if rs1.recordcount = 1 then
%>
<table border="0" width="100%">
<tr>
<td width="100%" bgcolor="#eeeeee">
<%response.write "("&i+1&")  "%>
<%=rs1("content")%></td>
</tr>
<tr>
<td width="100%" bgcolor="#eeeeee"> <p>
<input type="radio" value="A" name="answer<%=i+1%>">
A. <%=rs1("answera")%><br>
<input type="radio" value="B" name="answer<%=i+1%>">
B. <%=rs1("answerb")%><br>
<input type="radio" value="C" name="answer<%=i+1%>">
C. <%=rs1("answerc")%><br>
<input type="radio" value="D" name="answer<%=i+1%>">
D. <%=rs1("answerd")%><br>
<input type="radio" value="E" name="answer<%=i+1%>">
E. <%=rs1("answere")%><br>
<input type="radio" value="F" name="answer<%=i+1%>">
F. <%=rs1("answerf")%><br>
<input type="hidden" name="id<%=i+1%>" value="<%=rs1("id")%>">
</p>
</td>
</tr>
<tr>
<td width="100%" bgcolor="#eeeeee"> </td>
</tr>
</table>
<%
i=i+1
end if
rs1.close
end if
wend
%>
<input type="submit" value="提交" name="B1">
<input type="reset" value="全部重写" name="B2">
</form></td>
</tr>
</table>
</body>
</html>
moutaindew 2003-09-02
  • 打赏
  • 举报
回复
各位前辈,
rs.open sql,conn,3,3方法我试了
还是不行:(
报同样的错.
为了测试,
我又专门写了一个小程序测试,
发现即使用
rs.open sql,conn,1,3也没有报错
小程序如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="conn.asp"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<%
set rs=server.CreateObject("adodb.recordset")
sql="select * from singlechoose"
rs.open sql,conn,1,3
if not rs.eof then
rs.movefirst
firstid=rs("id")
rs.movelast
lastid=rs("id")
recordnum=lastid-firstid+1
rs.close
end if
response.Write(recordnum)
%>
</body>
</html>




jzec 2003-09-02
  • 打赏
  • 举报
回复
3,3
富察咪咪 2003-09-02
  • 打赏
  • 举报
回复
rs.open sql,conn,1,1
http://expert.csdn.net/Expert/topic/2211/2211085.xml?temp=.8541071
李睿_Lee 2003-09-02
  • 打赏
  • 举报
回复
你的记录集参数有问题
试试这个:
rs.open sql,conn,3,3
freetaiger 2003-09-02
  • 打赏
  • 举报
回复
rs.open sql,conn,3,3
速度是慢点,但是能实现
xuesaner 2003-09-02
  • 打赏
  • 举报
回复
但是3,3的速度很慢的,不理想
狐狸大仙 2003-09-02
  • 打赏
  • 举报
回复
rs.open sql,conn,1,3
1 3 的话只能用rs.movenext 不能使用rs.movefirst
改称 3 3的话应该可以
如果只是查询的话,建议用 3 3
cqfeng 2003-09-02
  • 打赏
  • 举报
回复
try:

rs.open sql,conn,3,3

28,391

社区成员

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

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