ASP读取数据库问题
我已经用ASP打开全局数据库,并要多次调用数据库记录集,问题是中间有一次我要用rs.movenext来移动记录集,如果调用了rs.movenext后面所有读取就会很乱,有...
我已经用ASP打开全局数据库,并要多次调用数据库记录集,问题是中间有一次我要用rs.movenext来移动记录集,如果调用了rs.movenext后面所有读取就会很乱,有什么方法可以把rs.movenext命令停掉,而不关闭数据库!其实就是说如何把rs.movenext停止,而不会因为rs.movenext影响到下面其他读取
展开
6个回答
展开全部
rs = Server.CreateObject("ADODB.RecordSet")
rs.Open(sqlStr,conn,1,A)
注:A=1表示读取数据;A=3表示新增、修改或删除数据。
在RecordSet组件中,常用的属性和方法有:
rs.Fields.Count:RecordSet对象字段数。
rs(i).Name:第i个字段的名称,i为0至rs.Fields.Count-1
rs(i):第i个字段的数据,i为0至rs.Fields.Count-1
rs("字段名"):指定字段的数据。
rs.RecordCount:数据记录总数。
rs.EOF:是否最后一条记录。
rs.MoveFirst:指向第一条记录。
rs.MoveLast:指向最后一条记录。
rs.MovePrev:指向上一条记录。
rs.MoveNext:指向下一条记录。
rs.GetRows:将数据放入数组中。
rs.Properties.Count:ADO的ResultSet或Connection的属性个数。
rs.Properties(item).Name:ADO的ResultSet或Connection的名称。
rs.Properties:ADO的ResultSet或Connection的值。
rs.close():关闭连接。
属性和方法分开列出
属性:
AbsolutePage属性:当RecordSet对象设有分页时,返回当前页码。
AbsolutePosition属性:当前指针的绝对位置。
ActiveConnection属性:指明进行SQL语句的数据库连接。
EOF属性:若指针位于第一条记录之前,返回TRUE、否则返回FALSE。
Bookmark属性:将指针设置在某条记录。
CursorLocation属性:设置或返回光标提供者的位置,若设为2(adUseServer)表示使用服务器端光标(默认);若设为3(adUseClient)表示使用浏览器端光标。
CursorType属性:指出RecordSet对象中使用的光标类型
EditMode属性:返回RecordSet对象当前的编辑模式
BOF属性:若指针位于最后一条记录之后,返回TRUE、否则返回FALSE。
Filter属性:从RecordSet对象中筛选记录。
LockType属性:指定编辑过程中对记录的锁定类型。
MaxRecords属性:可以返回的最多记录条数。
PageCount属性:返回RecordSet对象的分页总数。
PageSize属性:RecordSet对象设有分页时,设置分页的记录条数。
RecordCount属性:返回RecordSet对象中记录条数。
source属性:设置用来建立RecordSet对象的SQL来源。
State属性:返回RecordSet对象的状态:1(adStateOpen)表示打开;2(adStateClosed)表示关闭。
Status属性:返回对记录的处理是否成功:1(adStatusOK)表示成功;2(adStatueErrorsOccurred)表示产生错误。
方法:
AddNew方法:为可更新的RecordSet对象创建一个新记录。
CancelBatch方法:取消批次更新。
CancelUpdate方法:取消对当前的RecordSet对象中某一个记录的任何改变,但必须在使用Update之前。
Clone方法:复制一个已存在的RecordSet对象。
Delete方法:删除RecordSet对象中当前一条记录。
MoveFirst方法:将当前指针移到RecordSet对象中的第一条记录。
MoveLast方法:将当前指针移到RecordSet对象中的最后一条记录。
MoveNext方法:将当前指针移到RecordSet对象中的当前记录的下一条记录。
MovePrevious方法:将当前指针移到RecordSet对象中的当前记录的上一条记录。
Move n方法:将当前指针移到RecordSet对象中的当前指针到第n条记录。
Open方法:打开一个RecordSet对象。
Update方法:保存对当前RecordSet对象中记录的更新。
GetRows方法:从当前记录开始取出n条记录并存于一个二维数组中。
循环得到一条记录的所有值
For Each objFld In rs.Fields
Response.Write objFld
Next
得到属性个数
rs.Fields.count
rs.Open(sqlStr,conn,1,A)
注:A=1表示读取数据;A=3表示新增、修改或删除数据。
在RecordSet组件中,常用的属性和方法有:
rs.Fields.Count:RecordSet对象字段数。
rs(i).Name:第i个字段的名称,i为0至rs.Fields.Count-1
rs(i):第i个字段的数据,i为0至rs.Fields.Count-1
rs("字段名"):指定字段的数据。
rs.RecordCount:数据记录总数。
rs.EOF:是否最后一条记录。
rs.MoveFirst:指向第一条记录。
rs.MoveLast:指向最后一条记录。
rs.MovePrev:指向上一条记录。
rs.MoveNext:指向下一条记录。
rs.GetRows:将数据放入数组中。
rs.Properties.Count:ADO的ResultSet或Connection的属性个数。
rs.Properties(item).Name:ADO的ResultSet或Connection的名称。
rs.Properties:ADO的ResultSet或Connection的值。
rs.close():关闭连接。
属性和方法分开列出
属性:
AbsolutePage属性:当RecordSet对象设有分页时,返回当前页码。
AbsolutePosition属性:当前指针的绝对位置。
ActiveConnection属性:指明进行SQL语句的数据库连接。
EOF属性:若指针位于第一条记录之前,返回TRUE、否则返回FALSE。
Bookmark属性:将指针设置在某条记录。
CursorLocation属性:设置或返回光标提供者的位置,若设为2(adUseServer)表示使用服务器端光标(默认);若设为3(adUseClient)表示使用浏览器端光标。
CursorType属性:指出RecordSet对象中使用的光标类型
EditMode属性:返回RecordSet对象当前的编辑模式
BOF属性:若指针位于最后一条记录之后,返回TRUE、否则返回FALSE。
Filter属性:从RecordSet对象中筛选记录。
LockType属性:指定编辑过程中对记录的锁定类型。
MaxRecords属性:可以返回的最多记录条数。
PageCount属性:返回RecordSet对象的分页总数。
PageSize属性:RecordSet对象设有分页时,设置分页的记录条数。
RecordCount属性:返回RecordSet对象中记录条数。
source属性:设置用来建立RecordSet对象的SQL来源。
State属性:返回RecordSet对象的状态:1(adStateOpen)表示打开;2(adStateClosed)表示关闭。
Status属性:返回对记录的处理是否成功:1(adStatusOK)表示成功;2(adStatueErrorsOccurred)表示产生错误。
方法:
AddNew方法:为可更新的RecordSet对象创建一个新记录。
CancelBatch方法:取消批次更新。
CancelUpdate方法:取消对当前的RecordSet对象中某一个记录的任何改变,但必须在使用Update之前。
Clone方法:复制一个已存在的RecordSet对象。
Delete方法:删除RecordSet对象中当前一条记录。
MoveFirst方法:将当前指针移到RecordSet对象中的第一条记录。
MoveLast方法:将当前指针移到RecordSet对象中的最后一条记录。
MoveNext方法:将当前指针移到RecordSet对象中的当前记录的下一条记录。
MovePrevious方法:将当前指针移到RecordSet对象中的当前记录的上一条记录。
Move n方法:将当前指针移到RecordSet对象中的当前指针到第n条记录。
Open方法:打开一个RecordSet对象。
Update方法:保存对当前RecordSet对象中记录的更新。
GetRows方法:从当前记录开始取出n条记录并存于一个二维数组中。
循环得到一条记录的所有值
For Each objFld In rs.Fields
Response.Write objFld
Next
得到属性个数
rs.Fields.count
2009-07-12
展开全部
rs.MovePrevious 游标向后走一个不就还原了吗?
当满足条件之后,停止循环,游标再向后走一个。
当满足条件之后,停止循环,游标再向后走一个。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有编号么
如果有的话可以在where中
第一个选择Pid
第二个填上编号就可以了
如果有的话可以在where中
第一个选择Pid
第二个填上编号就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<%'大致思路如下
sql="select
*
from
class
where
class_id
in
(1,2,3)"
set
rs=con.execute(sql)
do
while
not
rs.eof
response.write"<a
href='test.asp?id="&rs("class_id")&"'>"&rs("classname")&"</a>"
rs.movenext
loop
%>
sql="select
*
from
class
where
class_id
in
(1,2,3)"
set
rs=con.execute(sql)
do
while
not
rs.eof
response.write"<a
href='test.asp?id="&rs("class_id")&"'>"&rs("classname")&"</a>"
rs.movenext
loop
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select
*
from
[class]
where
order>0
and
order<4
显示页面的话就直接用上面的SQL语句
然后加上循环即可显示出来撒。。。
*
from
[class]
where
order>0
and
order<4
显示页面的话就直接用上面的SQL语句
然后加上循环即可显示出来撒。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正确答案
<%
dim
i=1
sql="select
*
from
class
where
class_id
in
(i,i+1,i+2)"
set
rs=con.execute(sql)
do
while
not
rs.eof
response.write"<a
href='test.asp?id="&rs("class_id")&"'>"&rs("classname")&"</a>"
rs.movenextloop%>
<%
dim
i=1
sql="select
*
from
class
where
class_id
in
(i,i+1,i+2)"
set
rs=con.execute(sql)
do
while
not
rs.eof
response.write"<a
href='test.asp?id="&rs("class_id")&"'>"&rs("classname")&"</a>"
rs.movenextloop%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询