C#调用存储过程传输表值参数

C#调用表值参数传输存储过程。

先在数据库建立表值类型:

CREATE TYPE [dbo].[Edit_zply] AS TABLE(
	[公司] [varchar](10) NULL,
	[工号] [varchar](10) NULL,
	[姓名] [varchar](50) NULL,
	[原招聘代码] [varchar](10) NULL,
	[原招聘名称] [varchar](50) NULL,
	[新招聘代码] [varchar](10) NULL,
	[新招聘名称] [varchar](50) NULL
)
GO

在存储过程里使用该表值类型:

ALTER PROCEDURE [dbo].[HR_Edit_zply]
	-- Add the parameters for the stored procedure here
	@zply Edit_zply READONLY
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	declare @company varchar(10),@count int
	select @count=COUNT(*) from @zply where 工号 = '200901805'
	raiserror('%d',16,1,@count)
	update b set b.zplyID = a.新招聘代码,b.zplyName = a.新招聘名称
	from @zply a
	left join sys_tx_employee b on a.工号= b.userID and a.公司= b.company_FK
END

C#传值:

 SqlConnection conn = new SqlConnection(sqlconn);
            conn.Open();
            try
            {
                using (SqlCommand cmd = new SqlCommand(@"dbo.HR_Edit_zply", conn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    //关键是类型
                    SqlParameter parameter = new SqlParameter("@zply", SqlDbType.Structured);
                    //必须指定表类型名
                    parameter.TypeName = "dbo.Edit_zply";
                    //赋值
                    parameter.Value = sesstab;
                    cmd.Parameters.Add(parameter);
                    cmd.ExecuteNonQuery();
                }
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show("保存失败:"+ex.Message);
                return;
            }
            finally
            {
                conn.Close();
                XtraMessageBox.Show("保存成功!");
            }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值