本文介紹了在asp.net 2.0中使用存儲過程的方法。
以下是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
一個是帶參數的存儲過程,一個是不帶參數的存儲過程.下面介紹怎麼在VS2005中使用這兩個存儲過程.
(一).不帶參數的存儲過程:
以下是引用片段:
protected void Page_Load(object sender, EventArgs e)
...{
if(!Page.IsPostBack)
...{
//不帶參數的存儲過程的使用方法
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控件用來綁定執行存儲過程得到的結果.
(二).帶參數的存儲過程:
以下是引用片段:
protected void btn_search_Click(object sender, EventArgs e)
...{
//帶參數的存儲過程的使用方法
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控件用來綁定執行存儲過程的結果,另外,在頁面中還添加了一個textbox控件和一個BUTTON按鈕,上面的執行存儲過程是放在按鈕的onclick事件中的.textbox控件用來接收存儲過程的參數.