|
存储过程既可以在查询分析器中编写,也可以在企业管理器中编写。最重要是学会其语法。SQL Sever 联机帮助中有详细的说明,本文主要讲在VS2005中如何调用两个存储过程的,本文将调用一个带参考的,一个不带参数的存储过程,以下是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控件用来接收存储过程的参数.
|