SQL SERVER-获得存储过程的返回值和输出参数

ALTER PROCEDURE [dbo].[InsertRecord] 
(
    @name nvarchar(100)
)
AS
BEGIN
    
    SET NOCOUNT ON;
    insert into MyTable(name) values(@name);
    return SCOPE_IDENTITY();
END

/***************************************************************************************************/

ALTER PROCEDURE [dbo].[InsertRecord2] 
(
    @name nvarchar(100),
    @id int output

)
AS
BEGIN    
    SET NOCOUNT ON;

    insert into MyTable(name) values(@name);
    select @id =SCOPE_IDENTITY();
END

/***************************************************************************************************/

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp8
{
    class Program
    {
        static void Main(string[] args)
        {
            string connStr = "server=.;database=mytest;uid=sa;pwd=Server2012";
            using (SqlConnection con = new SqlConnection(connStr))
            {
                SqlCommand cmd = new SqlCommand("InsertRecord", con);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("@name", System.Data.SqlDbType.NVarChar));
                cmd.Parameters["@name"].Value = "hahheh";

                cmd.Parameters.Add(new SqlParameter("@return", System.Data.SqlDbType.Int));
                cmd.Parameters["@return"].Direction = System.Data.ParameterDirection.ReturnValue;

                con.Open();

                cmd.ExecuteNonQuery();
                object obj = cmd.Parameters["@return"].Value;
                Console.WriteLine(obj);

                SqlCommand cmd2 = new SqlCommand("InsertRecord2", con);
                cmd2.CommandType = System.Data.CommandType.StoredProcedure;
                cmd2.Parameters.Add(new SqlParameter("@name", System.Data.SqlDbType.NVarChar));
                cmd2.Parameters["@name"].Value = "NNNNNN";
                cmd2.Parameters.Add(new SqlParameter("@id", System.Data.SqlDbType.Int));
                cmd2.Parameters["@id"].Direction = System.Data.ParameterDirection.Output;

                //con.Open();
                cmd2.ExecuteNonQuery();
                object obj2 = cmd2.Parameters["@id"].Value;
                Console.WriteLine(obj2);
            }
            Console.Read();
        }
    }
}
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值