以下是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控制項用來接收預存程序的參數.