首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

急一条记录被重复插入几次!该怎么解决

2012-02-29 
急,一条记录被重复插入几次!PB10连接sqlserver2000表结构:CREATETABLE[dbo].[aaa]([pkid][int]IDENTITY(1,

急,一条记录被重复插入几次!
PB10   连接sqlserver2000
表结构:
CREATE   TABLE   [dbo].[aaa]   (
[pkid]   [int]   IDENTITY   (1,   1)   NOT   NULL   ,
[emp_number]   [varchar]   (10)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL   ,
[emp_name]   [varchar]   (30)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL  
)   ON   [PRIMARY]

在datawindow中插入记录:
int   i_row
i_row   =   ds.insertrow(0)
ds.setitem(i_rows, "emp_number ", "001 ")
ds.setitem(i_rows, "emp_name ", "张三 ")


....
ds.update()

发现在多用户的环境下如果update时aaa表被其他用户锁定(同样这段程序),这条内容被重复插入几次(插入的次数好像与锁表的时间有关)。

头大呀!!!!!!

请问各位高手,如何解决这个问题?

谢了!

[解决办法]
pkid 设成主键!

就只能保存一条了!
[解决办法]
ds.update()
commit;
[解决办法]
在点击保存按钮时,重新生成pkid的值,再保存到后台。
[解决办法]
可能是锁表的时间过长,用户不停地点击保存按钮。
解决办法:
1)数据库是否可以设置成行级锁
2)点击保存后,按钮变为不可点击,待提交成功后再恢复
[解决办法]
i_row = ds.insertrow(0)
ds.setitem(i_rows, "emp_number ", "001 ")
i_row = ds.insertrow(0)
ds.setitem(i_rows, "emp_name ", "张三 ")

[解决办法]
添加一个ID表,每次新增查找这个表的最大ID然后更新此表,这样,多用户新增就不会出现类似情况了
[解决办法]
添加一个ID表,每次新增查找这个表的最大ID然后更新此表,这样,多用户新增就不会出现类似情况了
----------------------
ok

热点排行