www.nhft.net > C#如何返回插入行的ID值

C#如何返回插入行的ID值

string str = "Data Source=.;Initial Catalog=data;Integrated Security=True"; SqlConnection conn = new SqlConnection(str); string sql = "insert into person (Age,Name) output inserted.Id values(20,'name');select @@identity"; conn....

插入后,SELECT SCOPE_IDENTITY();\\这个是返回你当前插入的ID,只是你个人会话 SELECT IDENT_CURRENT\\这个是返回全局ID值,就是如果有多个用户插入数据,它会返回最后一个自增的ID, 按你的需求,应该用SELECT SCOPE_IDENTITY()

SQL 中@@identity是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。 因此C# 代码可如下进行处理,在插入后,立即取出@@identity值: private static string AddRecordReturnNewID() { //二...

如果主键的流水号是自己增长的,那么你可以用select @id=@@identify的办法获取你刚插入的这个号码。你插入之后接着取,应该没问题,不会取到别人插入的id. 如果你的流水号不是自增长的,也应该用select max(id)的办法。但是这里有个技巧,你不能...

这个文件,要结合主键生成方式,最好以存储过程的方式,将你的新数据的主键作为存储过程的返回值返回。(注意主键不能是单一的自动增长列,那这个就不适用了。)

用select @@identity得到上一次插入记录时自动产生的ID sqlserver 是这样,mysql没有用过,自己百度一下咯。

一般如果知道唯一行id,就在sql里只查那一行,用sqldataadapter.fill(datatable),然后可以遍历行列

这种情况在系统中用得很多,而一般都是要将删除的相关信息保存下来的,因为为了系统信息的完整,所以要保留下删除的信息,用于统计分析,所以你将删除的部分信息保留,在从中取得自增ID 当然应该还有其他方法,这个是就系统整体而言!

假如前台控件的ID为“Btn” 后台获取为:Btn.ClientId

这得看你用的什么数据库访问方法,如果是简单的sqlcommand执行sql语句,那就得用另一个select max之类的语句查出最大值。如果是用的linq to entities,那add方法执行后就可以直接获取其id。

网站地图

All rights reserved Powered by www.nhft.net

copyright ©right 2010-2021。
www.nhft.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com