急!!关于获得自增长ID的问题 现在我insert一条记录到user表,user表的主键是id,他是自增长的,现在我要在insert以后取出这个id的值(我是通过调用存储过程实现插入的,id作为output输出参数)。请高手帮帮忙,我该怎样才能获得这个id值,不要用查询语句,我想知道用操作存储过程的方式! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 INSERT INTO ……DECLARE @USERID INTSET @USERID=@@IDENTITY --主键值 declare @s nvarchar(4000),@i int set @s='select @i=count(*) from test_exec' exec sp_executesql @s,N'@i int output',@i output select @i以上仅作参考,看过后应该会写了吧 我是通过调用存储过程实现插入的,id作为output输出参数SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString());conn.Open();SqlCommand MyCommand = new SqlCommand("MYSQL", conn);MyCommand.CommandType = CommandType.StoredProcedure;MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));MyCommand.Parameters["@a"].Value = 20;MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));MyCommand.Parameters["@b"].Value = 20;MyCommand.Parameters.Add(new SqlParameter("@c", SqlDbType.Int));MyCommand.Parameters["@c"].Direction = ParameterDirection.Output;MyCommand.ExecuteNonQuery();Response.Write(MyCommand.Parameters["@c"].Value.ToString());这是刚刚帮你找的,参数MyCommand.Parameters["@c"].Value值在这里.执行完后再取. @@IDENTITY 就是你最近一次插入的数据的ID值 select @@IDENTITY在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含此语句产生的最后的标识值。若此语句没有影响任何有标识列的表,则 @@IDENTITY 返回 NULL。若插入了多个行,则会产生多个标识值,@@IDENTITY 返回最后产生的标识值。如果此语句激发一个或多个执行产生标识值的插入操作的触发器,则语句执行后立即调用 @@IDENTITY 将返回由触发器产生的最后的标识值。若 INSERT 或 SELECT INTO 语句失败或大容量复制失败,或事务被回滚,则 @@IDENTITY 值不会还原为以前的设置。 amf协议解析出错 大家知道这个泛型是什么意思 socket问题 请教一个正则表达式相关的问题 在线急等,c# 打印自定义字体的宽度 如何用 C#做语音识别系统? 请问用C#怎样做投影程序? pen类和pens类有的区别主要有哪些? 将excel显示到页面上 我已经读取了datatable 但是gridview不好用 谁能给个不用插件的啊 直接显示的 谢啦 树的checkbox C#可以自己做控件做到商业级的NetAdvantage控件效果不?或是更炫的效果的控件不? csdn搜索有问题吗
INSERT INTO ……DECLARE @USERID INT
SET @USERID=@@IDENTITY --主键值
set @s='select @i=count(*) from test_exec'
exec sp_executesql @s,N'@i int output',@i output
select @i以上仅作参考,看过后应该会写了吧
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString());
conn.Open();
SqlCommand MyCommand = new SqlCommand("MYSQL", conn);
MyCommand.CommandType = CommandType.StoredProcedure;
MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));
MyCommand.Parameters["@a"].Value = 20;
MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));
MyCommand.Parameters["@b"].Value = 20;
MyCommand.Parameters.Add(new SqlParameter("@c", SqlDbType.Int));
MyCommand.Parameters["@c"].Direction = ParameterDirection.Output;
MyCommand.ExecuteNonQuery();
Response.Write(MyCommand.Parameters["@c"].Value.ToString());这是刚刚帮你找的,参数MyCommand.Parameters["@c"].Value值在这里.执行完后再取.