大家好,常常遇到connetion、recorset属性的使用,好像也没出什么错,但是总有些困惑。在这里请教下。请大家多说说自己的看法。对于connetion对象,一般我用且只用mode、cursorlocation、ConnectionString、State。
Mode属性:用来说明在 Connection 中可以如何修改数据,几乎都是设置AdModeReadWrite了事。请有经验者说明下对这个属性使用的看法。
Cursorlocation属性:一般都是都是设置adUseClient了事。请有经验者说明下对这个属性使用的看法。
ConnectionString、State就不说了。
还有,大家使用connection其他经常用到的属性是什么?Recordset 对象,我一般只用到bof、 eof、 cursorlocation、 cursortype、 locktype、 state属性
Bof eof state就不说了
Cursorlocation :一般都是都是设置adUseClient了事。请有经验者说明下对这个属性使用的看法。 Cursortype : 在 Recordset 对象中使用的游标类型.
Adopenstatic:我的理解是如果打开的记录集只有1条记录(比如取数据库时间),或者只需要知道符合条件纪录的总数(count)这些情况的时候使用,不涉及游标在记录集中移动
AdopenForwardOnly:如果vb操作该记录集有Movenext操作,需要使用该值
Adopenkeyset:没用过
Adopendynamic:没用过
对于Cursortype属性,帮助上说不同的值有的可见其他用户所作的添加、更改或删除,有的不可见。这一点一直没想通。啥子意思哦~:(locktype属性:几乎都是设置为adLockReadOnly

解决方案 »

  1.   

    对于connetion 对象
    Mode属性:
    AdModeUnknown 默认值。表明权限尚未设置或无法确定。 
    AdModeRead 表明权限为只读。 
    AdModeWrite 表明权限为只写。 
    AdModeReadWrite 表明权限为读/写。 
    AdModeShareDenyRead 防止其他用户使用读权限打开连接。 
    AdModeShareDenyWrite 防止其他用户使用写权限打开连接。 
    AdModeShareExclusive 防止其他用户打开连接。 
    AdModeShareDenyNone 防止其他用户使用任何权限打开连接。  Cursorlocation属性:
    adUseNone 没有使用游标服务。(该常量已过时并且只为了向后兼容才出现)。 
    adUseClient 使用由本地游标库提供的客户端游标。本地游标服务通常允许使用的许多功能可能是驱动程序提供的游标无法使用的,因此使用该设置对于那些将要启用的功能是有好处的。AdUseClient 具有向后兼容性,也支持同义的 adUseClientBatch。 
    adUseServer 默认值。使用数据提供者的或驱动程序提供的游标。这些游标有时非常灵活,对于其他用户对数据源所作的更改具有额外的敏感性。但是,Microsoft Client Cursor Provider(如已断开关联的记录集)的某些功能无法由服务器端游标模拟,通过该设置将无法使用这些功能。  一个重要的地方就是,如果你要得到记录的条数,则要用:adUseClient
      

  2.   

    对于Recordset 对象
    Cursorlocation :作用与connection对象的相同 locktype属性:
    adLockReadOnly 默认值,只读。无法更改数据。 
    adLockPessimistic 保守式记录锁定(逐条)。提供者执行必要的操作确保成功编辑记录,通常采用编辑时立即锁定数据源的记录的方式。 
    adLockOptimistic 开放式记录锁定(逐条)。提供者使用开放式锁定,只在调用 Update 方法时锁定记录。 
    adLockBatchOptimistic 开放式批更新。用于与立即更新模式相反的批更新模式。 
      

  3.   

    Cursorlocation属性﹕具我所了解如果设置adUseServer,游标会直接指向数据库中的数据﹐而不是返回的结果集﹐如果这样﹐对数据操作起来就很不安全。locktype属性:通常我们对数据的添加﹐修改﹐删除操作都是用SQL语句提交到数据库端去执行的﹐用不着对结果结果集进行更改﹐所以一般设置为adLockReadOnly。
        如果你想在一个grid上操作的结果集(grid.DataSource=Recordset)直接响应到数据库中﹐那幺就要设置为adLockOptimistic或adLockBatchOptimistic(这个是将对数据的操作进行批处理﹐一次提交到数据库)
      

  4.   

    snowolf_ren(☆snowolf) ( ) 信誉:100  2003-11-10 19:40:00  得分:0 
      
      Cursorlocation属性﹕如果设置adUseServer,游标会直接指向数据库中的数据﹐而不是返回的结果集﹐如果这样﹐对数据操作起来就很不安全。哦~~~~~~~~~~~~~~~~~~~~~~  locktype属性:通常我们对数据的添加﹐修改﹐删除操作都是用SQL语句提交到数据库端去执行的﹐用不着对结果结果集进行更改﹐所以一般设置为adLockReadOnly。  如果你想在一个grid上操作的结果集(grid.DataSource=Recordset)直接响应到数据库中﹐那幺就要设置为adLockOptimistic或adLockBatchOptimistic(这个是将对数据的操作进行批处理﹐一次提交到数据库)~~~~~~~~~~我一般不用(个人意见) 
    再顶下
    没人回答就结了