读书人

C/S结构获取id自动编号,该怎么处理

发布时间: 2012-03-23 12:06:21 作者: rapoo

C/S结构获取id自动编号
我在做这第一个C/S版的系统时,在“rkd”表里有“djh”字段我设置的是“自动编号”,然后VB程序里调用“insert_rkd”存储过程向“rkd”表插入一条数据,然后返回这条数据“djh”字段自动产生的编号,赋给已经定义的变量d,应该怎么办?插入的存储过程如下:
CREATE PROCEDURE [insert_rkd]
( @ghsID [smallint],
@czyID [smallint])

AS INSERT INTO [yd].[dbo].[rkd]
([ghsID],
[czyID])

VALUES
(@ghsID,
@czyID)
GO
如果不用“自动编号”,而是先获取djh字段的最大值,然后在程序里加1,再插入rkd表里,这样两台工作站电脑同时工作会获取相同的最大id号,然后又插入相同的id吧。
大家有什么更好地办法吗?

[解决办法]
1, 不同的数据库有不同的方法
2,试试 等待,加锁,插入后解锁,还是用自动编号比较方便
[解决办法]
插之前先用max获取一下
[解决办法]
好像是有这个问题,经常网站上的文章文不对题应该就是这个问题造成的,
有一个思路,不知道能否成功:先保存,然后获取ID的时候,连同标题一同返回,然后根据这个标题来判断是否是你最后添加的文章的ID,然后再判断是否可以继续添加文章内容。

读书人网 >VB

热点推荐