怎样在C#中调用存储过程?

             废话不说,直接切入主题。先来说下存储过程的几种情况:

                                                                                                                    1、没有参数没有返回值 

                                                                                                                    2、有参数没有返回值

                                                                                                                    3、有参数有返回值

 

            下面就这几种情况分别举例:1、没有参数没有返回值  象这种情况最简单。

  1. 存储过程
  2. USE Northwind
  3. CREATE PROC novaluenoparameter
  4. AS
  5.   SELECT * FROM products
  6. GO

            

  1. /// <summary>
  2. /// c#代码 方法1
  3. /// </summary>
  4. SqlConnection conn = new SqlConnection();
  5. conn.ConnectionString = strConn;
  6. conn.Open();
  7. SqlCommand comm = new SqlCommand("EXEC novaluenoparameter", conn);
  8. comm.ExecuteNonQuery();
  9. conn.Close();

     

    情况2、有参数没有返回值

    1. 存储过程(带参数,没有返回值)
    2. CREATE PROC novaluebeparameter
    3. @i int ,
    4. @productname varchar(20)
    5. AS
    6.    SELECT TOP @i * FROM products where productname = @productname
    7. GO
    1. /// <summary>
    2. /// C#代码:调用带参数没有返回值的存储过程
    3. /// </summary>
      • SqlConnection conn = new SqlConnection();
      • conn.ConnectionString = strConn;
      • conn.Open();
      • SqlCommand comm = new SqlCommand("novaluebeparameter", conn); //“novaluebeparameter”是存储过程名
      • comm.CommandType = CommandType.StoredProcedure;
      • comm.Parameters.Add(new SqlParameter("@i",SqlDbType.Int));
      • comm.Parameters.Add(new SqlParameter("@productname",SqlDbType.varchar,20));
      • comm.Parameters["@i"].Value=3;
      • comm.Parameters["@productname"].value = "Tofu"
      • comm.ExecuteNonQuery();
      • conn.Close();

    3、带参数,有返回值(返回一个值,这里说下,有返回一个值的,有返回一个数据集的。)

    1. 存储过程(带参数,没有返回值)
    2. CREATE PROC novaluebeparameter
    3. @i int ,
    4. @j int,
    5. @sum int output
    6. AS
    7.    SET @sum = @i + @j
    8.    RETURN @sum
    9. GO

     

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

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值