首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

客户端 ,最大单据号有关问题

2012-02-29 
客户端,最大单据号问题。我使用:VCMFC+ADO+SQL2000。没用存储过程等,直接在程序用SQL(SQL语句比较少)问题:有

客户端 ,最大单据号问题。


    我使用:VC   MFC+ADO+SQL2000。没用存储过程等,直接在程序用SQL(SQL语句比较少)
    问题:
                有一个服务器,二个客户端。有一个记录表,如当前最大ID为5,
                二个客户如果运行,同时增加记录时,点击增加按纽,都会取得当前最大ID   5   并设为新的ID   6,       问题是当保存时,为了二个记录避免重复ID,我又重新去获取当前最大ID,但是我就算我断开数据库连接再重新连接,第一个点保存为5,第二个也是5,(第一个保存为5,重新连接后,再取得最大ID应为6)   为什么不是6啊?   大家指点下如何解决,不要用存储过程,谢谢!


[解决办法]
select * from Tab with(TABLOCKX)
where ....
[解决办法]
id 建成自增的。 insert 结束后 用一个scope..什么的函数取出刚才插入的id.
[解决办法]
设置成identity
insert 以后用scope_identity()来取插入的id

建议用存储过程执行,这样能保证不乱。用SQL语句难说。


或者用ado的方法addnew之后在id字段里面取新id。
[解决办法]
楼上说的有道理,关键是事务要控制好

热点排行