以下是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控件用来接收存储过程的参数.
本文介绍如何在ASP.NET 2.0中使用带参数及不带参数的存储过程,包括创建存储过程、在Visual Studio 2005中调用存储过程的方法,并演示了如何将执行结果绑定到GridView控件。

被折叠的 条评论
为什么被折叠?



