本节企业网站模板官方站点主要讲到两个知识点:一个是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客服,我们会为您真城服务。