如何知道记录集rs现在处于第几条记录? 其中cn是连接数据库那个rs是rs.open "select * from TableName",cn请问:如何知道记录集rs现在处于第几条记录?请教请教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般是通过计数的,例如rs.movefirsti=1while not rs.eof rs.movenext i=i+1Wend 不知对不对:rs.AbsolutePosition rs.AbsolutePosition 或rs.book AbsolutePosition 属性(远程数据) 返回或设置 rdoResultset 对象的当前行的绝对行号。语法object.AbsolutePosition [= value]AbsolutePosition 属性的语法包含下面部分:部分 描述 object 对象表达式,其值是“应用于”列表中的一个对象。 value 长数据类型值,其范围从 -1 到 rdoResultset 中的最大行号 。与由 object 指定的 rdoResultset 中的当前行的顺序位置对应。缺省值是 -1。 说明使用 AbsolutePosition 属性将当前行指针定位到一个特定行,该行以其在 rdoResultset 中的有序位置为准,rdoResultset 为键集类型,或静态类型。不支持动态类型或仅向前类型的 rdoResultset 对象。当为动态游标返回一个值时,该值不必很准确。一般来说,在支持 AbsolutePosition 值之前,rdoResultset 对象的 Bookable 属性必须为 True 。也可以通过检查 AbsolutePosition 属性的设置值,确定当前行号。例如,在 50 行的 rdoResultset 中移动了 10 行, AbsolutePosition 属性返回 10 。对该结果集执行 MoveLast 方法后, AbsolutePosition 返回 50。 然后设置 AbsolutePosition 属性为 1 和 50 之间的任意值,将当前行指针定位到那行。AbsolutePosition 属性的值是基于 -1 ,因此,设置为1即是指 rdoResultset 中的第一行。如果设置一个大于移居行数的值,会造成 RDO 定位到结果集的最后一行 (EOF)。如果没有当前行,比如当 rdoResultset 中一行也没有时,就返回-1。如果当前行被删除, AbsolutePosition 属性值就没有定义,再引用该属性值会产生一个可以捕获的错误。如果游标的类型包括动态成员,将新行添加到序列的尾部。注意 该属性不是打算用来代替行号的。建议仍使用书签方法保留及返回游标给定的位置。而且,如果重新创建 rdoResultset,由于在执行过程中 rdoResultset 中各行的顺序和成员会发生变化,所以给定的行会有相同的绝对位置,因此也是不可靠的。 AbsolutePosition是否是正确的值要看游标类型,看看ADO的帮助就可以了 rx.movefisti=1;while <>eof rs.movenest i=i+1loop 比较赞成使用自己计算;if not rs.eof then rs.movefirstelse exit subend ifi=0while not rs.eof i=i+1 rs.movenextwend 你在算什么,记录条数么?用rs.RecordCount不就行了么。或者用“select count(*) from tablename”也可以。不同的数据库引擎对于记录的存储方式不同,不同的查询方式得到的记录顺序也不同,你想知道目前处于哪条记录,读出来看看不就行了么。 rs.AbsolutePosition 不能总是保证返回正确地值。出于效率的考虑,记录不总是一次性的全部返回到记录集。连接,及记录集本身的属性设置都可能导致此类问题的发生。 水晶报表问题 高手指教啊 VB ADO控件与SQL SERVER2005连接问题 弱弱的问一下``何时关闭对象 如何获取DLL文件函数传回CHAR指针类型的字符串 我接个单子,大家说说地收多少钱? 这个简单错误如何解决???谢谢! 如何输出API 返回的字符串? 找用Subclassing实现的带图片预览的打开文件对话框 .急。 怎么给VB的工程换图标? 如何在CRYSTAL报表工具中加入对Open Office的支持. 数据提取问题 用VB编写监视指定进程的程序
rs.movefirst
i=1
while not rs.eof
rs.movenext
i=i+1
Wend
rs.AbsolutePosition
返回或设置 rdoResultset 对象的当前行的绝对行号。语法object.AbsolutePosition [= value]AbsolutePosition 属性的语法包含下面部分:部分 描述
object 对象表达式,其值是“应用于”列表中的一个对象。
value 长数据类型值,其范围从 -1 到 rdoResultset 中的最大行号 。与由 object 指定的 rdoResultset 中的当前行的顺序位置对应。缺省值是 -1。
说明使用 AbsolutePosition 属性将当前行指针定位到一个特定行,该行以其在 rdoResultset 中的有序位置为准,rdoResultset 为键集类型,或静态类型。不支持动态类型或仅向前类型的 rdoResultset 对象。当为动态游标返回一个值时,该值不必很准确。一般来说,在支持 AbsolutePosition 值之前,rdoResultset 对象的 Bookable 属性必须为 True 。也可以通过检查 AbsolutePosition 属性的设置值,确定当前行号。例如,在 50 行的 rdoResultset 中移动了 10 行, AbsolutePosition 属性返回 10 。对该结果集执行 MoveLast 方法后, AbsolutePosition 返回 50。 然后设置 AbsolutePosition 属性为 1 和 50 之间的任意值,将当前行指针定位到那行。AbsolutePosition 属性的值是基于 -1 ,因此,设置为1即是指 rdoResultset 中的第一行。如果设置一个大于移居行数的值,会造成 RDO 定位到结果集的最后一行 (EOF)。如果没有当前行,比如当 rdoResultset 中一行也没有时,就返回-1。如果当前行被删除, AbsolutePosition 属性值就没有定义,再引用该属性值会产生一个可以捕获的错误。如果游标的类型包括动态成员,将新行添加到序列的尾部。注意 该属性不是打算用来代替行号的。建议仍使用书签方法保留及返回游标给定的位置。而且,如果重新创建 rdoResultset,由于在执行过程中 rdoResultset 中各行的顺序和成员会发生变化,所以给定的行会有相同的绝对位置,因此也是不可靠的。
while <>eof
rs.movenest
i=i+1
loop
rs.movefirst
else
exit sub
end ifi=0while not rs.eof
i=i+1
rs.movenext
wend
出于效率的考虑,记录不总是一次性的全部返回到记录集。
连接,及记录集本身的属性设置都可能导致此类问题的发生。