通过存储过程插入记录之后如何获得新纪录的id(自动增长)
比如,记录中有四个字段,其中gi_id是自动增长的
我想获得添加成功后的gi_id,是否可以在上述存储过程中加一个输出参数,输出gi_id?
该如何添加这个输出参数?同时添加后如何赋值,如何在后台代码中执行存储过程的时候获得该参数?
下面是执行存储过程的代码:
CREATE PROCEDURE pro_addgoods
@u_name nvarchar(50),
@gi_click int,
@gi_title nvarchar(50)
As
insert into t_goods_info(u_name,gi_click,gi_title) values(@u_name,@gi_click,@gi_title)
我想获得添加成功后的gi_id,是否可以在上述存储过程中加一个输出参数,输出gi_id?
该如何添加这个输出参数?同时添加后如何赋值,如何在后台代码中执行存储过程的时候获得该参数?
下面是执行存储过程的代码:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ershouConnectionString"].ToString());
//声明执行存储过程的SqlCommand
SqlCommand scd_sel = new SqlCommand("pro_addgoods", conn);
scd_sel.CommandType = CommandType.StoredProcedure;
//给存储过程的参数赋值
SqlParameter spa;
spa = scd_sel.Parameters.Add("@u_name", SqlDbType.NVarChar, 50);
spa.Direction = ParameterDirection.Input;
spa.Value = Session["account"].ToString();
spa = scd_sel.Parameters.Add("@gi_click", SqlDbType.Int, 4);
spa.Direction = ParameterDirection.Input;
spa.Value = 0;
spa = scd_sel.Parameters.Add("@gi_title", SqlDbType.NVarChar, 50);
spa.Direction = ParameterDirection.Input;
spa.Value = txttitle.Text;
//执行存储过程
if (conn.State == ConnectionState.Closed)
conn.Open();
try
{
scd_sel.ExecuteNonQuery();
scd_sel.Dispose(); //释放资源
}
catch (SqlException ae)
{
throw (ae);
}
conn.Dispose();
...全文
相关推荐
mysql的插入问题 怎么获得自动增长的ID
学习mysql必看的东西 一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 还是MYSQL的,一张表有还是有ID自增主键,用JDBC insert一条语句之内,怎么在JAVA程序里面获得这条记录的ID.
SQL获取刚插入的记录的自动增长列ID的值
假设表结构如下: CREATE TABLE TestTable ( id int identity, CreatedDate datetime ) SQL2005获得新增行的自动增长列的语句如下: insert into TestTable (CreatedDate) output inserted.id values (getdate()) SQL2000获得新增行的自动增长列的语句如下: insert into TestTable (CreatedDate) values (getdate()) select @@IDENTITY 在C
使用SQL Server 获取插入记录后的ID(自动编号)
本篇文章是对使用SQL Server获取插入记录后的ID(自动编号)的方法进行了详细的分析介绍,需要的朋友参考下
MyBatis获取插入记录的自增长字段值(ID)
本文分步骤给大家介绍了MyBatis获取插入记录的自增长字段值的方法,在文中给大家提到了mybatis返回插入数据的自增长id,需要的朋友可以参考下
存储过程添加一条记录并返回ID
SQL Server存储过程添加一条记录并返回新添加记录的ID号。


