如何返回最后插入到sql中的自动增长标识值 我在c#程序中向数据库中插入了一条数据,该表的主键是自动增长的,现在要如何去获取刚刚插入的这条数据的主键值呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是 sql server,那么在同一个事务中执行 select @@identity这样的低层的操作代码不好看,如果你用 entity framework 或者 nhibernate,那么保存之后,对象的状态自动被更新,你可以通过对象属性得到这个值 呵呵,我刚刚转了个贴,欢迎去看http://blog.csdn.net/kankanwenzi/archive/2010/11/07/5993215.aspx 用select语句查出来不可以吗? SQL SERVER要怎么做呢 Sql块操作 string sql="insert table(f1,f2) values(v1,va2) "sql+=" select @@identity "; 用事务 begin transaction insert... select max(id) from tb commit transaction Scope_identity实例:http://www.cnblogs.com/yank/archive/2008/04/16/1156713.htmlselect SCOPE_IDENTITY()返回上面操作的数据表最后row的IDENTITY 列的值;返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。SELECT @@IDENTITY返回上面操作最后一个数据表的最后row的IDENTITY 列的值;创建表:create table T_User(F_ID int identity(1,1) not null,F_Name varchar(20) not null)插入数据:insert into T_User(F_Name) values('我是谁') Select SCOPE_IDENTITY()存储过程:CREATE PROCEDURE [dbo].[sp_User](@F_Name int) ASbegin tran Insertinto_T_UserInsert into dbo.T_User(F_Name) values(@F_Name)Select SCOPE_IDENTITY() 关于疑问:UI.Add add = new UI.Add() 为什么坐标值不变 C#的一个简单问题 调用WEBSERVERICE时发生错误 不是问题的问题 散分,不知不觉升到了五个三角! 字符串截取问题/xml格式换 winform下datagrid问题 大家认为C#的难点是什么? 扩展方法 请教各位:怎样做一对磁性对话框 visual studio自动生成的ListView想改属性怎么办
SQL SERVER要怎么做呢
string sql="insert table(f1,f2) values(v1,va2) "sql+=" select @@identity ";
实例:
http://www.cnblogs.com/yank/archive/2008/04/16/1156713.html
select SCOPE_IDENTITY()
返回上面操作的数据表最后row的IDENTITY 列的值;
返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。
SELECT @@IDENTITY
返回上面操作最后一个数据表的最后row的IDENTITY 列的值;
创建表:
create table T_User(F_ID int identity(1,1) not null,F_Name varchar(20) not null)
插入数据:
insert into T_User(F_Name) values('我是谁') Select SCOPE_IDENTITY()
存储过程:
CREATE PROCEDURE [dbo].[sp_User](@F_Name int) AS
begin tran Insertinto_T_User
Insert into dbo.T_User(F_Name) values(@F_Name)
Select SCOPE_IDENTITY()