关于ADO的简单问题

amin66 2000-06-26 11:17:00
请教各位大虾:
能否对ADO的Recordset设置索引?如何做?谢谢!
...全文
256 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuayo 2000-06-28
  • 打赏
  • 举报
回复
你的问题,在设置的时候,用sql打开的时候,设置用哪个 order什么就行了。
amin66 2000-06-28
  • 打赏
  • 举报
回复
致bokei:
您试过可以设置rst的索引么?
bokei 2000-06-28
  • 打赏
  • 举报
回复
对不起,弄错了。
只有DAO的recordset才可以设置索引。

amin66 2000-06-27
  • 打赏
  • 举报
回复
问题关键是:如果rst是Adodb.recordset的,可以设置rst的Index,可以对rst用seek方法么?我试过不行的。该怎样处理? 谢谢!
bokei 2000-06-27
  • 打赏
  • 举报
回复
seek是有自己的格式的,第一个参数是操作符,第二个参数是值。
amin66 2000-06-27
  • 打赏
  • 举报
回复
我的代码片断如下:
Dim rst As New adodb.RecordSet
rst.Open "MyTable", CurrentConnection, adOpenStatic, adLockOptimistic
能否这样查找记录:
rst.index="MyIndex"
rst.seek

谢谢!
bokei 2000-06-27
  • 打赏
  • 举报
回复
那就设置了rst的索引后再用seek
bokei 2000-06-27
  • 打赏
  • 举报
回复
利用索引来找记录的话就可以用seek,不过有限制。
首先,seek只能在表中使用,不能在动态集和快照集中使用。
其次,用seek永远只能找到符合条件的第一个记录。
如果你认为还能用的话,语法如下。

recordset.index="indexname" '设置索引
recordset.Seek "=",value '用seek查找
找到的话nomatch为false
amin66 2000-06-27
  • 打赏
  • 举报
回复
Yes, i have created an index in my table, but i want to access records quickly in my program with Recordset, how to do that?
Thanks a million.
我已建立一个索引在我的表中,但我想在程序中快速访问记录,该怎莫做?多谢!

Limu 2000-06-27
  • 打赏
  • 举报
回复
No,you must create indices in your database.You can not set a index in ADODB.Recordset.
amin66 2000-06-27
  • 打赏
  • 举报
回复
事实上,我的SQLServer表中已经建立了索引,用Find在纪录数量上万条时不能满足速度要求,如果不能用Seek,有其他好办法么?谢谢!
bokei 2000-06-27
  • 打赏
  • 举报
回复
没有索引,就不可以用seek!
只能用find

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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