sql语句SET NO_BROWSETABLE ON是什么意思
我用tdbgrid做试验,同时更新一个数据库表,数据库为sql server 2000,两个程序能够很好的隔离,我用sql事件探查器跟踪,发现在执行select 之前总要有SET NO_BROWSETABLE ON,可是在sql server 2000的帮助里面查不到。这句是什么意思?
另外问一下,如果我不用数据感知组件,我想修改一行,先用select 读取数据,然后update,我应该用什么sql语句可以避免出现Lost Update.
问题点数:100、回复次数:4Top
1 楼forgot(忘记forgot2000)回复于 2002-05-30 10:44:32 得分 25
那是SQL锁机制中的系统选项,顾名思义就是把当前表锁起,不允许用户浏览,你的存储过程或者执行事件中可能有对数据表进行更新的语句,系统自动产生这条语句进行锁表,这就避免了并发操作的错误。
第二个问题很简单,如果不想用数据敏感控件,直接在Query中写Update语句即可。Top
2 楼gmc007(江西的佬表)回复于 2002-05-30 10:51:56 得分 25
SET NO_BROWSETABLE ON
从字面意思来看是:设置不可显示
我想你要是用sql事件探查器跟踪“sql query analyzer”就能知道了。Top
3 楼CoolSlob()回复于 2002-05-30 10:59:42 得分 25
呵呵,有这选项吗?
我在 Online Help中都没找到呀~~
Top
4 楼CoolSlob()回复于 2002-05-30 11:00:22 得分 25
呵呵,有这选项吗?
我在 Online Help中都没找到呀~~
Top
5 楼lixinwyh(xin)回复于 2002-05-30 12:11:31 得分 0
我的意思是在多用后操作时如果一个人更新了一行,其他人可能看不到这个更改,可能还要修改这行,就会出现lost update,我用sql语句怎么能够避免?我只想锁定这行
set no_browsetable我确实在help找不到,但是这个语句确实有,sql的企业管理器也用到了这个语句。Top
6 楼lixinwyh(xin)回复于 2002-05-31 09:17:06 得分 0
这个我自己找到答案了。琢磨了一下午。
今天是世界杯,所以送分了:)
中午结。Top





