您的位置:首页 > 数据库

使用sqlhelper类实现接收存储过程返回来的自增字段值

2011-03-22 19:21 531 查看
原本以为sqlhelper类不能获取存储过程返回值,折腾了一晚上,终于搞定了。
首先创建测试表

CREATE TABLE [dbo].[Article](
[AID] [int] IDENTITY(1,1) NOT NULL,
[Title] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
[Content] [nvarchar](max) COLLATE Chinese_PRC_CI_AS NULL

)


表第一个字段为自增,现在我们插入一行后想要获取自增的AID的值,我们建立一个存储过程,该存储过程往表里插入一行内容,并返回自增的AID的值。

Create proc [dbo].[proc_AddArticle]
@Title nvarchar(100),
@Content nvarchar(Max)
as
begin
insert into [Article](Title,Content)      values (@Title ,@Content)
return @@identity
end


C#代码结合sqlhelper实现接收存储过程返回来的自增字段值实例:

string title = Title.Text;
string content = Content.Text;
SqlParameter[] param = new SqlParameter[] { new SqlParameter("@Title", title),                 new SqlParameter("@Content", content),                 new SqlParameter("@AID", "")};        //param[2]用来接收存储过程返回来的自增ID即AID
param[2].Direction = ParameterDirection.ReturnValue;
SqlHelper.ExecuteNonQuery(SqlHelper.constr,          CommandType.StoredProcedure, "proc_AddArticle", param);
int returnValue=(int)param[2].Value; //returnValue即自增的AID的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: