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

急,一条记录被重复插入几次!
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