如题!!谢谢。

解决方案 »

  1.   

    CursorLocation 属性
    指示游标服务的位置。设置和返回值
    设置或返回 Long 值,可将该值设置为一个 CursorLocationEnum 值。说明
    此属性允许在可以访问提供者的多个游标库之间选择。通常情况下,可以选择客户端游标库中的游标或者选择位于服务器上的游标。只有在设置了属性后,此属性设置才会影响所建立的连接。更改 CursorLocation 属性不会影响现有的连接。Execute 返回的游标继承此设置。Recordset 对象将从与它们相关联的连接上自动继承此设置。此属性在 Connection 或已关闭的 Recordset 上为读/写,在打开的 Recordset 上为只读。远程数据服务用法   当在客户端 Recordset 或 Connection 对象上使用时,CursorLocation 属性只能设置为 adUseClient。CursorLocationEnum
    指定游标服务的位置。常量        值                说明 
    adUseClient 3 使用本地游标库提供的客户端的游标。本地游标服务通常允许执行驱动程序提供的游标所不允许的许多功能,因此使用此设置可以充分利用即将启用的功能。为进行向后兼容,亦支持同义字 adUseClientBatch。 
    adUseNone 1 不使用游标服务。(此常量已作废并且只是为了向后兼容才出现。) 
    adUseServer 2 默认值。使用数据提供者或驱动程序提供的游标。这些游标有时很灵活,可以额外感知其他人对数据源所做的更改。但是,Microsoft Cursor Service for OLE DB 的某些功能(例如断开 Recordset 对象)不能用服务器端游标模拟,这些功能在此设置中将不可用。 
      

  2.   

    adUseClient 3 使用本地游标库提供的客户端的游标。本地游标服务通常允许执行驱动程序提供的游标所不允许的许多功能,因此使用此设置可以充分利用即将启用的功能。为进行向后兼容,亦支持同义字 adUseClientBatch。 具体是什么功能多出来了?这种理论的东西我太多了,可是具体到实践中的话,又要考虑到具体的用处,不是很明确。今天我看的VB高级数据库编程里,它说
    “要在程序中动态设定Adodc1控件和DataGrid1的绑定,需要设定myRecord(记录集对象)的CursorLocation为adUserClient,否则不能动态关联.”
    这里所谓的动态关联是不是指数据库中的数据(显示在DataGrid1)一旦改变,那么在网格中会立刻刷新了??谢谢!
      

  3.   

    举个简单的例子吧:使用客户端游标的时候,rs.RecordCount返回rs数据集中的记录数,否则就算有记录也返回-1,此外,你可以对数据集进行分页操作;既然客户端游标这么方便,为什么还要使用服务器端游标呢!关键在于客户端游标会占用DBMS资源,速度较慢