西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁西西教程數(shù)據(jù)庫教程 → 什么是存儲過程?Sql 存儲過程知識詳解

什么是存儲過程?Sql 存儲過程知識詳解

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2013/1/2 20:01:07字體大小:A-A+

作者:西西點擊:0次評論:3次標簽: 存儲過程

4 頁 c#調(diào)用存儲過程

 這里調(diào)用的存儲過程為上面我寫的那些各式各樣的存儲過程。

public partial class ProcedureTest : System.Web.UI.Page
    {
        public static  string conn = ConfigurationManager.ConnectionStrings["StuRelationDBConnectionString"].ConnectionString;
        public SqlConnection con = new SqlConnection(conn);
        protected void Page_Load(object sender, EventArgs e)
        {
            runGetUserAccountRe3();
        }

        //只返回單一記錄集的存儲過程GetUserAccount
        public void runGetUserAccount()
        {
            SqlDataAdapter dp = new SqlDataAdapter(common("GetUserAccount"));
            DataSet ds = new DataSet();
            // 填充dataset 
            dp.Fill(ds);
            rpt.DataSource = ds;
            rpt.DataBind();

        }

        //沒有輸入輸出的存儲過程inUserAccount
        public void runinUserAccount()
        {            
            con.Open();
            Label1.Text = common("inUserAccount").ExecuteNonQuery().ToString();
            con.Close();
        }

        //有返回值的存儲過程inUserAccountRe
        public void runinUserAccountRe()
        {
            // 創(chuàng)建參數(shù) 
            SqlCommand cmd = common("inUserAccountRe");
            IDataParameter[] parameters = { 
                 new SqlParameter("rval", SqlDbType.Int,4) 
             };
            // 將參數(shù)類型設(shè)置為 返回值類型 
            parameters[0].Direction = ParameterDirection.ReturnValue;
            // 添加參數(shù) 
            cmd.Parameters.Add(parameters[0]);
            con.Open();
            // 執(zhí)行存儲過程并返回影響的行數(shù) 
            Label1.Text = cmd.ExecuteNonQuery().ToString();
            con.Close();
            // 顯示影響的行數(shù)和返回值 
            Label1.Text += "-" + parameters[0].Value.ToString();
        }

        //有輸入?yún)?shù)和輸出參數(shù)的存儲過程
        public void runGetUserAccountRe()
        {
            SqlCommand cmd = common("GetUserAccountRe");
            // 創(chuàng)建參數(shù) 
            IDataParameter[] parameters = { 
                 new SqlParameter("@UserName", SqlDbType.NChar,20) , 
                 new SqlParameter("@UserID", SqlDbType.Int) ,
             };
            // 設(shè)置參數(shù)類型 
            parameters[0].Value = "7";  
            parameters[1].Direction = ParameterDirection.Output;  // 設(shè)置為輸出參數(shù) 
            // 添加參數(shù) 
            cmd.Parameters.Add(parameters[0]);
            cmd.Parameters.Add(parameters[1]);
            con.Open();
            // 執(zhí)行存儲過程并返回影響的行數(shù) 
            Label1.Text = cmd.ExecuteNonQuery().ToString();
            con.Close();           
            // 顯示影響的行數(shù)和輸出參數(shù) 
            Label1.Text += "-" + parameters[1].Value.ToString();
           
        }

        //同時具有返回值、輸入?yún)?shù)、輸出參數(shù)的存儲過程GetUserAccountRe1
        public void runGetUserAccountRe1()
        {
            SqlCommand cmd = common("GetUserAccountRe1");
            // 創(chuàng)建參數(shù) 
            IDataParameter[] parameters = { 
                 new SqlParameter("@UserName", SqlDbType.NChar,20) , 
                 new SqlParameter("@UserID", SqlDbType.Int) ,
                 new SqlParameter("rval", SqlDbType.Int,4) 
             };
            // 設(shè)置參數(shù)類型 
            parameters[0].Value = "7";
            parameters[1].Direction = ParameterDirection.Output;  // 設(shè)置為輸出參數(shù) 
            parameters[2].Direction = ParameterDirection.ReturnValue;  //設(shè)置為返回值
            // 添加參數(shù) 
            cmd.Parameters.Add(parameters[0]);
            cmd.Parameters.Add(parameters[1]);
            cmd.Parameters.Add(parameters[2]);
            con.Open();
            // 執(zhí)行存儲過程并返回影響的行數(shù) 
            Label1.Text = cmd.ExecuteNonQuery().ToString();
            con.Close();
            // 顯示影響的行數(shù)和輸出參數(shù) 
            Label1.Text += "-輸出參數(shù)為:" + parameters[1].Value.ToString();
            Label1.Text += "-返回值為:" + parameters[2].Value.ToString();

        }

        //同時返回參數(shù)和記錄集的存儲過程GetUserAccountRe2
        public void runGetUserAccountRe2()
        {
            SqlCommand cmd = common("GetUserAccountRe2");
            // 創(chuàng)建參數(shù) 
            IDataParameter[] parameters = { 
                 new SqlParameter("@UserName", SqlDbType.NChar,20) , 
                 new SqlParameter("@UserID", SqlDbType.Int) ,
                 new SqlParameter("rval", SqlDbType.Int,4) 
             };
            // 設(shè)置參數(shù)類型 
            parameters[0].Value = "7";
            parameters[1].Direction = ParameterDirection.Output;  // 設(shè)置為輸出參數(shù) 
            parameters[2].Direction = ParameterDirection.ReturnValue;  //設(shè)置為返回值
            // 添加參數(shù) 
            cmd.Parameters.Add(parameters[0]);
            cmd.Parameters.Add(parameters[1]);
            cmd.Parameters.Add(parameters[2]);
            con.Open();
            // 執(zhí)行存儲過程并返回影響的行數(shù) 
            Label1.Text = cmd.ExecuteNonQuery().ToString();
            DataSet ds = new DataSet();
            SqlDataAdapter dt = new SqlDataAdapter(cmd);
            dt.Fill(ds);
            rpt.DataSource = ds;
            rpt.DataBind();
            con.Close();
            // 顯示影響的行數(shù)和輸出參數(shù) 
            Label1.Text += "-輸出參數(shù)為:" + parameters[1].Value.ToString();
            Label1.Text += "-返回值為:" + parameters[2].Value.ToString();

        }

        //返回多個記錄集的存儲過程
        public void runGetUserAccountRe3()
        {
            DataSet ds = new DataSet();
            SqlDataAdapter dt = new SqlDataAdapter(common("GetUserAccountRe3"));
            dt.Fill(ds);
            rpt1.DataSource = ds.Tables[0].DefaultView;
            rpt1.DataBind();
            rpt2.DataSource = ds.Tables[1].DefaultView;
            rpt2.DataBind();
        }
        
        public SqlCommand common(string proName)
        {
            
            SqlCommand cmd = new SqlCommand();
            // 設(shè)置sql連接 
            cmd.Connection = con;            
            // 如果執(zhí)行語句 
            cmd.CommandText = proName;
            // 指定執(zhí)行語句為存儲過程 
            cmd.CommandType = CommandType.StoredProcedure;
            return cmd;
        }
    }
              
              

        

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(3)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)