以下是SQL中兩個存儲過程:
以下是代碼片段: CREATE PROCEDURE dbo.oa_selectalluser AS select * from UserInfo GO CREATE PROCEDURE dbo.oa_SelectByID @id int AS select * from UserInfo where ID=@id GO |
一個是帶參數(shù)的存儲過程,一個是不帶參數(shù)的存儲過程.下面介紹怎么在VS2005中使用這兩個存儲過程.
(一).不帶參數(shù)的存儲過程:
以下是代碼片段: protected void Page_Load(object sender, EventArgs e) ...{ if(!Page.IsPostBack) ...{ //不帶參數(shù)的存儲過程的使用方法 SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["oaConnectionString"].ToString()); SqlDataAdapter da = new SqlDataAdapter(); DataSet ds=new DataSet(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "oa_SelectAllUser"; da.SelectCommand.CommandType = CommandType.StoredProcedure; da.Fill(ds); GridView1.DataSource = ds; GridView1.DataBind(); } |
在頁面中添加了一個GridView控件用來綁定執(zhí)行存儲過程得到的結果.
(二).帶參數(shù)的存儲過程:
以下是代碼片段: protected void btn_search_Click(object sender, EventArgs e) ...{ //帶參數(shù)的存儲過程的使用方法 SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["oaConnectionString"].ToString()); SqlDataAdapter da = new SqlDataAdapter(); DataSet ds = new DataSet(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "oa_SelectByID"; da.SelectCommand.CommandType = CommandType.StoredProcedure; SqlParameter param = new SqlParameter("@id", SqlDbType.Int); param.Direction = ParameterDirection.Input; param.Value = Convert.ToInt32(txt_value.Text); da.SelectCommand.Parameters.Add(param); da.Fill(ds); GridView1.DataSource = ds; GridView1.DataBind(); } |
同樣,在頁面中添加了一個GridView控件用來綁定執(zhí)行存儲過程的結果,另外,在頁面中還添加了一個textbox控件和一個BUTTON按鈕,上面的執(zhí)行存儲過程是放在按鈕的onclick事件中的.textbox控件用來接收存儲過程的參數(shù).