25yicms利用ASP.NET(C#)+MSSQL技术全力打造功能最强大的营销型企业网站管理系统,企业做网站系统,做网站软件,提供div+css企业网站模板。
阅读内容

C#调用存储过程output参数并获取插入数据的自增长ID实例


时间:2013/03/12   来源:企业网站
本节企业网站模板官方站点主要讲到两个知识点:一个是C#调用存储过程output参数;二个是参数获取插入数据的自增长ID利用identity。

闲话不多说,直接上代码讲解C#调用存储过程output参数并获取插入数据的自增长ID。

存储过程:
create proc Pr_insQuestion
(
@reCategoryId int output,
@QuestionContent varchar(200),
@QuestionDetail text,
@CategoryId int,
@IP varchar(20)
)
as
insert into yi25_Question(QuestionContent,QuestionDetail,CategoryId,IP)
values(@QuestionContent,@QuestionDetail,@CategoryId,@IP)
select @reCategoryId=@@identity

C#调用存储过程代码:
        SqlConnection conn = new SqlConnection(connStr);
        conn.Open();
        SqlCommand MyCommand = new SqlCommand("Pr_insQuestion", conn);
        MyCommand.CommandType =CommandType.StoredProcedure;
        MyCommand.Parameters.Add(new SqlParameter("@reCategoryId", SqlDbType.Int));
        MyCommand.Parameters["@reCategoryId"].Direction = ParameterDirection.Output;//调用output参数
        MyCommand.Parameters.Add(new SqlParameter("@QuestionContent", SqlDbType.VarChar));
        MyCommand.Parameters["@QuestionContent"].Value = content;
        MyCommand.Parameters.Add(new SqlParameter("@QuestionDetail", SqlDbType.Text));
        MyCommand.Parameters["@QuestionDetail"].Value = detail;
        MyCommand.Parameters.Add(new SqlParameter("@CategoryId", SqlDbType.Int));
        MyCommand.Parameters["@CategoryId"].Value = categoryid;
        MyCommand.Parameters.Add(new SqlParameter("@IP", SqlDbType.VarChar));
        MyCommand.Parameters["@IP"].Value = commip.IPAddress;
        int inrst=MyCommand.ExecuteNonQuery();
        conn.Close();
        QuestionId = int.Parse(MyCommand.Parameters["@reCategoryId"].Value.ToString()); //获取output返回值

上面就是整个C#调用存储过程output参数并获取插入数据的自增长ID实例,仅供大家参考,如有问题与交流可以咨询25yicms客服,我们会为您真城服务。
点击次数:       打印此页  关闭