這里調(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; } }
本文導(dǎo)航
- 第1頁: 首頁
- 第2頁: 創(chuàng)建存儲過程的參數(shù)
- 第3頁: 創(chuàng)建存儲過程
- 第4頁: c#調(diào)用存儲過程
- 第5頁: SQLServer數(shù)據(jù)庫的一些全局變量