存储过程的参数问题与C#中的调用

系统 1861 0

1. 带参数的存储过程

      
        set
      
       ANSI_NULLS 
      
        ON
      
      
        set
      
       QUOTED_IDENTIFIER 
      
        ON
      
      
        GO
      
      
        ALTER
      
      
        PROCEDURE
      
      
        [
      
      
        dbo
      
      
        ]
      
      .
      
        [
      
      
        sp_select_gua
      
      
        ]
      
      
        @num
      
      
        int
      
      
        AS
      
      
        BEGIN
      
      
        --
      
      
         SET NOCOUNT ON added to prevent extra result sets from
      
      
        --
      
      
         interfering with SELECT statements.
      
      
        SET
      
       NOCOUNT 
      
        ON
      
      
        ;

   
      
      
        select
      
       mean 
      
        from
      
       tb_gua 
      
        where
      
       id
      
        =
      
      
        @num
      
      
        END
      
    

C#中的调用

      
                        conn.Open();

                SqlCommand cmd 
      
      = 
      
        new
      
      
         SqlCommand();

                cmd.CommandType 
      
      =
      
         CommandType.StoredProcedure;

                cmd.CommandText 
      
      = 
      
        "
      
      
        sp_select_gua
      
      
        "
      
      
        ;

                cmd.Connection 
      
      =
      
         conn;

                cmd.Parameters.Add(
      
      
        new
      
       SqlParameter(
      
        "
      
      
        @num
      
      
        "
      
      
        , SqlDbType.Int));

                cmd.Parameters[
      
      
        "
      
      
        @num
      
      
        "
      
      ].Value =
      
         Calculator();

                c 
      
      = (
      
        string
      
      )cmd.ExecuteScalar();
    

2. 带rerurn的存储过程

 

      
        set
      
       ANSI_NULLS 
      
        ON
      
      
        set
      
       QUOTED_IDENTIFIER 
      
        ON
      
      
        GO
      
      
        ALTER
      
      
        PROCEDURE
      
      
        [
      
      
        dbo
      
      
        ]
      
      .
      
        [
      
      
        sp_select_gua2
      
      
        ]
      
      
         

(
      
      
        @num1
      
      
        int
      
      
        ,


      
      
        @num2
      
      
        int
      
      
        )


      
      
        AS
      
      
        BEGIN
      
      
        --
      
      
         SET NOCOUNT ON added to prevent extra result sets from
      
      
        --
      
      
         interfering with SELECT statements.
      
      
        SET
      
       NOCOUNT 
      
        ON
      
      
        ;

   
      
      
        return
      
      
        @num1
      
      
        +
      
      
        @num2
      
      
        ;

   


      
      
        END
      
    

C#中的调用

      
                        conn.Open();

                SqlCommand cmd 
      
      = 
      
        new
      
      
         SqlCommand();

                cmd.CommandType 
      
      =
      
         CommandType.StoredProcedure;

                cmd.CommandText 
      
      = 
      
        "
      
      
        sp_select_gua2
      
      
        "
      
      
        ;

                cmd.Connection 
      
      =
      
         conn;

                cmd.Parameters.Add(
      
      
        new
      
       SqlParameter(
      
        "
      
      
        @num1
      
      
        "
      
      
        , SqlDbType.Int));

                cmd.Parameters[
      
      
        "
      
      
        @num1
      
      
        "
      
      ].Value =
      
         Calculator();

                cmd.Parameters.Add(
      
      
        new
      
       SqlParameter(
      
        "
      
      
        @num2
      
      
        "
      
      
        , SqlDbType.Int));

                cmd.Parameters[
      
      
        "
      
      
        @num2
      
      
        "
      
      ].Value =
      
         Calculator();

                cmd.Parameters.Add(
      
      
        new
      
       SqlParameter(
      
        "
      
      
        @return
      
      
        "
      
      
        , SqlDbType.Int));

                cmd.Parameters[
      
      
        "
      
      
        @return
      
      
        "
      
      ].Direction =
      
         ParameterDirection.ReturnValue;

                cmd.ExecuteNonQuery();

                c 
      
      = cmd.Parameters[
      
        "
      
      
        @return
      
      
        "
      
      ].Value.ToString();
    

3. 带output参数的调用

      
        set
      
       ANSI_NULLS 
      
        ON
      
      
        set
      
       QUOTED_IDENTIFIER 
      
        ON
      
      
        GO
      
      
        ALTER
      
      
        PROCEDURE
      
      
        [
      
      
        dbo
      
      
        ]
      
      .
      
        [
      
      
        sp_select_gua1
      
      
        ]
      
      
         

(
      
      
        @num
      
      
        int
      
      
        ,


      
      
        @guamean
      
      
        nvarchar
      
      (
      
        1000
      
      )
      
        =
      
      
        ''
      
      
         output,


      
      
        @guaname
      
      
        nvarchar
      
      (
      
        10
      
      )
      
        =
      
      
        ''
      
      
         output)


      
      
        AS
      
      
        BEGIN
      
      
        --
      
      
         SET NOCOUNT ON added to prevent extra result sets from
      
      
        --
      
      
         interfering with SELECT statements.
      
      
        SET
      
       NOCOUNT 
      
        ON
      
      
        ;

   
      
      
        select
      
      
        @guaname
      
      
        =
      
      name,
      
        @guamean
      
      
        =
      
      mean 
      
        from
      
       tb_gua 
      
        where
      
       id
      
        =
      
      
        @num
      
      
        END
      
    

C#中的调用

      
                        conn.Open();

                SqlCommand cmd 
      
      = 
      
        new
      
      
         SqlCommand();

                cmd.CommandType 
      
      =
      
         CommandType.StoredProcedure;

                cmd.CommandText 
      
      = 
      
        "
      
      
        sp_select_gua1
      
      
        "
      
      
        ;

                cmd.Connection 
      
      =
      
         conn;

                cmd.Parameters.Add(
      
      
        new
      
       SqlParameter(
      
        "
      
      
        @num
      
      
        "
      
      
        , SqlDbType.Int));

                cmd.Parameters[
      
      
        "
      
      
        @num
      
      
        "
      
      ].Value =
      
         Calculator();

                cmd.Parameters.Add(
      
      
        new
      
       SqlParameter(
      
        "
      
      
        @guamean
      
      
        "
      
      , SqlDbType.NVarChar, 
      
        1000
      
      
        ));

                cmd.Parameters[
      
      
        "
      
      
        @guamean
      
      
        "
      
      ].Direction =
      
         ParameterDirection.Output;

                cmd.Parameters.Add(
      
      
        new
      
       SqlParameter(
      
        "
      
      
        @guaname
      
      
        "
      
      , SqlDbType.NVarChar, 
      
        10
      
      
        ));

                cmd.Parameters[
      
      
        "
      
      
        @guaname
      
      
        "
      
      ].Direction =
      
         ParameterDirection.Output;

                cmd.ExecuteNonQuery();

                c 
      
      = cmd.Parameters[
      
        "
      
      
        @guamean
      
      
        "
      
      
        ].Value.ToString();

                d 
      
      = cmd.Parameters[
      
        "
      
      
        @guaname
      
      
        "
      
      ].Value.ToString();
    

 

存储过程的参数问题与C#中的调用


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论