sql语句中有insert然后有个select@@identity,该怎么执行,C#

如题所述

@@identity是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头。select @@identity,在access或sql server中都有效.比如有个表A,它的自增列是id,当向A表插入一行数据后,如果插入数据后自增列的值自动增加至101,则通过select @@identity得到的值就是101。使用@@identity的前提是在进行insert操作后,执行select @@identity的时候连接没有关闭,否则得到的将是NULL值。如以下SQL语句:string sql="insert into users values('admin','admin','男');select @@Identity";该sql语句拼装在一起执行,等于是先执行插入操作,然后返回所插入的数据的id这条sql语句直接 用sqlcommand的ExecuteScalar方法执行 会返回所插入的数据的的id号?如果是sql server 最好用select SCOPE_IDENTITY()因为@@identity全局的同类还有IDENT_CURRENT(‘table’)IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。@@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值SCOPE_IDENTITY 和 @@IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值。但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域。
温馨提示:内容为网友见解,仅供参考
无其他回答

sql语句中有insert然后有个select@@identity,该怎么执行,C#求解答
得到的值就是101。使用@@identity的前提是在进行insert操作后 ,执行select @@identity的时候连接没有关闭 ,否则得到的将是NULL值。如以下SQL语句:string sql="insert into users values('admin','admin','男');select @@Identity";该sql语句拼装在一起执行,等于是先执行插入操作,然后返回所插入的...

sql语句中有insert然后有个select@@identity,该怎么执行,C#
。你在SQl里面执行一下这个语句,它是会出现一个表,所以就跟执行一班查询一样执行就可以了!

sql语句中有insert然后有个select@identity,该怎么执行
你说的应该是@@identity 用select @@identity得到上一次插入记录时自动产生的ID 如果你使用存储过程的话,将非常简单,代码如下:SET @NewID=@@IDENTITY 说明:在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含此语句产生的最后的标识值。若此语句没有影响任何有标识列的表,则 ...

sql语句中有insert然后有个select@@identity,该怎么执行,C#
\/\/试试 String sql="insert into ...select @@identity";SqlConnection cn=new SqlConnection(connectionString);SqlCommand cmd=new SqlCommand(sql,cn);Object objResult=cmd.ExecuteScalar();if(objResult!=null){ \/\/ identity objResult } ...

sql语句中有insert然后有个select@identity,该怎么执行,C
select@identity 就是一个变量,应该有什么地方给这个变量设置值 的。或是写错了,应该是 select @@identity ,就是取最近给自增长的表写数据后,自增长字段的值。

select @@identity的用法
在.NET环境中,使用SQLCommand执行`INSERT`与`SELECT`语句。插入后,使用`ExecuteScalar`获取`@@IDENTITY`返回的ID值。代码示例展示了如何在执行`INSERT`后立即获取新记录的ID值。`INSERT INTO`操作后,使用`SELECT @@IDENTITY`自动生成ID。在SQL Server中,推荐使用`SELECT SCOPE_IDENTITY() as id`,因...

select @@IDENTITY 怎么用C#输出出来
SqlConnection con = new SqlConnection();con.ConnectionString = "server=.;database=CRM;uid=sa;pwd=123456";con.Open();SqlDataAdapter adapter = new SqlDataAdapter("INSERT INTO [dbo].[yhb] ([密码],[姓名],[性别],[联系电话],[地址]) VALUES (1 ,2,3,4,5) select @@identity",...

SQL SELECT @@IDENTITY 如何使用,如何把自动增长的ID赋值给变量_百度知 ...
CREATE SEQUENCE add_emp increment by 1 -- 每次递增1 start with 1 -- 从1开始 nomaxvalue -- 没有最大值 minvalue 1 -- 最小值=1 NOCYCLE; -- 不循环 insert into emp_tmp values(add_emp.nextval,'OWEN','CLERK',8200,19870901,2100,'',20);--调用函数- ...

sql C#如何得到自增id的值
在你插入的时候的SQL语句后面接一条内置的函数 装门为求最近更改更改的自动增长列的值 string sql="insert into XX表 values(aa,bb,c);select @@IDENTITY";在执行这条语句后会返回你要的自动增长列的值 比如 int id = cmd.ExecuteNonQuery(); \/\/这个值就是你要的 不好意思 多个个括号 改了 ...

C#怎么取得新增一列的id,id为自增的
1。MYSQL使用SQL函数LAST_INSERT_ID()获得刚刚插入的AUTO_INCREACE字段的ID值。必须前一SQL为一INSERT语句,如果是其他语句,返回的ID值为零。2。使用Command对象的时候,注意不能关闭对象后再用SELECT LAST_INSERT_ID()函数,这样获得的ID值同样为零。必须是刚INSERT完,而无新的其他语句,也未关闭该...

相似回答