怎样在对一个窗口操作时,其他用户只能浏览这个窗口,而不能对数据库进行操作
因为我的“新增”按钮,有一段代码是自动给新增的纪录生成一个编号,如果两个人同时新增,点“保存”时怎么办?
听说update,delete,insert等是自动加锁的,但是为什么我可以同时让两个用户修改同一条记录?
问题点数:100、回复次数:10Top
1 楼nthb2001(沉迷游戏中~~~~)回复于 2002-10-24 11:31:44 得分 0
只要你修改不是同一个列,,或是修改的主KEY就不会有事!Top
2 楼nthb2001(沉迷游戏中~~~~)回复于 2002-10-24 11:32:20 得分 40
再有你可能设置了autocommit为true了Top
3 楼winwhere(天长地久)回复于 2002-10-24 13:47:26 得分 10
这可能会根据数据窗口的update属性设置而定,Top
4 楼pufan()回复于 2002-10-24 13:55:50 得分 0
新增按钮只是对datawindow的缓冲区进行操作,未update()并没有影响的数据库的相关记录.
可将表的主键设为自增型,这样可以避免记录被覆盖.Top
5 楼wallis(豆子)回复于 2002-10-24 14:26:07 得分 0
同意楼上Top
6 楼luyiqing()回复于 2002-10-24 15:25:58 得分 0
但是这个表的主键是使用下面这句话生成的有一定编码规则的序号:
ls_id = 'DB-' +string(date(ldt_date),"yyyymmdd")+'-'+ right("000" + string(long(right(string(li_id),3))),3)
不能设为自增型啊。Top
7 楼pufan()回复于 2002-10-24 15:55:47 得分 40
两个人同时新增,点“保存”时先点的数据被后点的数据覆盖(相同主键值的行)Top
8 楼luyiqing()回复于 2002-10-24 16:03:36 得分 0
但是~~~~~~~~~~
我要的不是这种效果呀。希望先点的生成DB-20011024-001,后点的生成
DB-20011024-002,怎么办呢?谢谢了Top
9 楼pufan()回复于 2002-10-24 16:21:34 得分 0
在数据库段写触发器,按规律生成主键.Top
10 楼lightwindwind(lightwind)回复于 2002-10-24 19:34:13 得分 10
我想你的20011024-001也是从数据库中取的吧,关键是应该在保存时来生成编号.
Top




