zoukankan      html  css  js  c++  java
  • ASP.NET调用存储过程并接收存储过程返回值

    ASP.NET调用存储过程并接收存储过程返回值  

    2010-08-02 11:26:17|  分类: C#|字号 订阅

     
     
     
    2010年02月27日 星期六 23:52
    假设表结构
    Create Table Table_1
    (
    tid int identity(1,1),
    number int
    )
    1.调用无参无返回值的存储过程

    假设存储过程如下
    Create PROC proc_1
    AS
    Insert Table_1(number) Values(100)
    GO


    调用方法
    public static void exec_proc_1()
    {
    SqlCommand cmd = new SqlCommand("proc_1", con);//proc_1为存储过程名,con为已经建立好的连接
    cmd.CommandType = CommandType.StoredProcedure;//设置执行类型为执行存储过程
    cmd.ExecuteNonQuery();
    }

    2.调用有参有返回值的存储过程
    假设存储过程如下:
    Create PROC proc_2
    @result int output,//要返回的参数
    @number int,
    @tid int
    AS
    Update Table_1 Set number=number+@number Where tid=@tid
    Select @result=number From Table_1
    GO

    调用方法:
    public static int exec_proc_2(int number, int tid)
    {
    SqlCommand cmd = new SqlCommand("proc_2", con);//同上
    cmd.CommandType = CommandType.StoredProcedure;//同上
    cmd.Parameters.Add(new SqlParameter("@result", SqlDbType.Int));//添加一个名为@result的参数,数据类型为SqlDbType.Int
    cmd.Parameters["@result"].Direction = ParameterDirection.Output;//将@result参数设置成为接收输出参数
    cmd.Parameters.AddWithValue("@number", number);
    cmd.Parameters.AddWithValue("@tid", tid);            
    cmd.ExecuteNonQuery();
    int result = (int)cmd.Parameters["@result"].Value;//将输出的Object数据转换成int类型
    return result;
    }

    3.调用返回一张表的存储过程并接收
    假设存储过程如下
    Create PROC proc_3
    AS
    Select * From Table_1--查询一张表
    GO

    调用方法:
    public static DataTable exec_proc_3()
    {
    SqlCommand cmd = new SqlCommand("proc_3", con);//同上
    cmd.CommandType = CommandType.StoredProcedure;//同上
    SqlDataAdapter da = new SqlDataAdapter(cmd);//用SqlDataAdapter执行
    DataTable table = new DataTable();//创建一张表
    da.Fill(table);//填充表
    return table;
    }
  • 相关阅读:
    Scala语言
    Eclipse的各种问题
    Java:
    Come on
    问题:实现继承的抽象方法
    Android:报错AndroidManifest.xml file missing
    正则表达式
    Android:相对布局Relativeyout中的属性解释
    Android:生命周期案例
    Android:设置APP全屏、横屏、竖屏、常亮的方法
  • 原文地址:https://www.cnblogs.com/meimao5211/p/3384155.html
Copyright © 2011-2022 走看看