w102272,我已经采用了RU的方式,并且在所有要进行UPDATE的数据窗的UPDATE属性中,选用key and updatable column,如果出现脏读的现象,并且后者作提交,应该会有一个数据窗的错误提示好象是:Change between retrieve and update,大概类似的提示,然后在数据窗的DB ERROR中截获错误信息,改为自己的提示,不知道这样会不会尽可能的避免脏读。我的程序的确有一张HOT TABLE,近乎80%的操作都是针对这张表进行的,可能总是有一个人不停的向表中插入数据,另有几个人修改数据,不过一般情况下是不会出现对同一条记录进行修改,我想应该很少出现脏读的现象。不知道你对我的做法,有没有什么意见。
另外,我发了给mail给你,你收到了吗?
谢谢你的帮助!
没有关系,其实我最近也在做PB程序,从SQL ANYWHERE升级到SQL SERVER 7,遇到的问题和你的一模一样。几个用户就锁机器,我都被人找怕了。
后来就LOCK=RU,AUTOCOMMIT=TRUE,再改了改索引,现在再也不死机啦。呵呵。
对于这个问题,似乎lock=RU比 autocommit更有效。
改索引那照,没办法了再用。
good luck!
w102272 ,谢谢你这么耐心的回复,我决定在我的程序中将SQLCA。AUTOCOMMIT=TRUE ,希望这样可以解决问题,不过想起来,以前在SQL65上似乎没有这个问题,但自从升到70之后,因为PB总是提示:Program type out of range。后来没办法将所有的settrans改为settransobject,也许就是因为这个原因才会这样。希望我可以解决这个问题,因为我的头都被它搞大了,如果真的解决问题,我一定会好好感谢你。不过在这里先谢了。