我用VB6的ADO连接进行SQL SERVER2000数据库,
在运行中遇到一个问题:一个用户在进行查询时,其他用户都在点查询后程序就会死,
应该是在打开记录集的时候cursortype和locktype的值有问题:我的代码是:
rs.Open strsql, cn, adOpenStatic, adLockPessimistic
请教:
该如何设置cursortype和locktype的值,才能是多个用户同时访问??

解决方案 »

  1.   

    你看看
    adLockReadOnly 1 缺省值,Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法 
    adLockPrssimistic 2 当数据源正在更新时,系统会暂时锁住其他用户的动作,以保持数据一致性。 
    adLockOptimistic 3 当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。 
    adLockBatchOptimistic 4 当数据源正在更新时,其他用户必须将CursorLocation属性改为adUdeClientBatch才能对数据进行增、删、改的操作。Const adOpenForwardOnly  = 0 '游标只向前浏览记录,不支持分页、Recordset、BookMark
    Const adOpenKeyset       = 1 '键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark
    Const adOpenDynamic      = 2 '动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览(ACCESS不支持)。
    Const adOpenStatic       = 3 '静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动
      

  2.   

    谢谢!online(龙卷风V2.0--再战江湖)
    那我把adLockPessimistic改成adLockOptimistic行吗?
    先试试!
      

  3.   

    online(龙卷风V2.0--再战江湖) 贴的很全了。
    你自己试试不就ok了