adUseClient/aduseserver客户端游标和服务器端游标有什么区别?
在使用oledb是设置CursorLocation=aduseserver,rs.RecordCount返回就是-1,
设置CursorLocation=adUseClient,rs.RecordCount返回就有了,缺省是CursorLocation=aduseserver.
是否应该设为CursorLocation=adUseClient呢?

解决方案 »

  1.   

    CursorLocation=adUseClient为打开的游标类型为本地类型   
      CursorLocation=adUseServer为打开的游标类型为服务器类型   
      有些时候当你发生一些莫名奇妙的错的时候,你就应该永adUseClient   
      如你Select   *   from   表,发现RecordCount还是为-1,时,那就应将CursorLocation设为adUseClient。   
        
      adUseClient   使用由本地游标库提供的客户端游标。本地游标引擎通常允许使用的许多功能可能是驱动程序提供的游标无法使用的,因此使用该设置对于那些将要启用的功能是有好处的。adUseClientBatch   与   adUseClient   同义,也支持向后兼容性。   
        
      adUseServer   默认值。使用数据提供者或驱动程序提供的游标。这些游标有时非常灵活,对于其他用户对数据源所作的更改具有额外的敏感性。但是,Microsoft   Client   Cursor   Provider的某些功能无法由服务器端游标模拟,通过该设置将无法使用这些功能