PB11联接SQL2000,只有查询为何老把别的程序锁死

PB11连接SQL2000,只有查询为何老把别的程序锁死
我用PB11开发了一个程序,程序全部都是查询的功能,没有任何Update,当然用了数据窗口。
为什么会把别的程序给锁死呢?(别的程序有Update)


我PB11中连接方式是:
SQLCA.DBMS = "OLE DB"
SQLCA.LogPass = "----"
SQLCA.LogId = "----"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDER='SQLOLEDB',DATASOURCE='---',PROVIDERSTRING='database=E----'"

好奇怪,哪位高手给指点一下。
------解决方案--------------------
加上
sqlca.lock='RU'
或者
sqlca.lock='RC'


MS SQL中lock属性
RU Read Uncommitted 
RC Read Committed 
RR Repeatable Read 
TS Serializable 
查阅SQL SERVER2005联机丛书有以下描述:
sql server 数据库引擎隔离级别
SQL-99 标准定义了下列隔离级别,Microsoft SQL Server Database Engine 支持所有这些隔离级别:
未提交读(隔离事务的最低级别,只能保证不读取物理上损坏的数据)
已提交读(数据库引擎 的默认级别)
可重复读
可序列化(隔离事务的*别,事务之间完全隔离)
实际测试发现,当设置sqlca.lock='RR'可重复读时,会出现死锁,其他三种不会。似乎PB10以上版本缺省是sqlca.lock='RR'才会造成死锁。
一般是用“RC”,低版本的PB用MSS连接时的默认级别,适用于大多数情况,当然还要看你的具体应用了