文介绍了在ASP.NET2.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控件用来接收存储过程的参数. (三) 如何在ASP.NET中获得存储过程中的output参数 以下是引用片段: 存储过程: ALTER proc [dbo].[Our] @username varchar(20), @password varchar(20), @result int output as begin select @result=count(*) from Admin where username=@username and password=@password end VB.NET程序片段: Dim con as SqlConnection = new SqlConnection() Dim cmd As SqlCommand = New SqlCommand() con.ConnectionString = ConfigurationManager.ConnectionStrings("voteConnectionString").ToString() con.open() cmd.Connection = con cmd.CommandType = Data.CommandType.StoredProcedure cmd.CommandText = "Our" Dim name As SqlParameter = cmd.Parameters.Add("@username", Data.SqlDbType.NVarChar, 20) Dim pwd As SqlParameter = cmd.Parameters.Add("@password", Data.SqlDbType.NVarChar, 20) Dim result1 As SqlParameter = cmd.Parameters.Add("@result", Data.SqlDbType.Int, 4) result1.Direction = Data.ParameterDirection.Output name.Value = username pwd.Value = password cmd.ExecuteNonQuery() MsgBox(result1.Value) Dim us As SqlParameter = SqlCom.Parameters.Add("@username", SqlDbType.NVarChar, 20) SqlCom.Parameters.Add("@sex", SqlDbType.NVarChar, 40) SqlCom.Parameters.Add("@qq", SqlDbType.NVarChar, 20) SqlCom.Parameters.Add("@url", SqlDbType.NVarChar, 40) SqlCom.Parameters.Add("@email", SqlDbType.NVarChar, 40) SqlCom.Parameters.Add("@contents", SqlDbType.NVarChar, 300) us.Value = username SqlCom.Parameters(1).Value = sex SqlCom.Parameters(2).Value = qq SqlCom.Parameters(3).Value = url SqlCom.Parameters(4).Value = email SqlCom.Parameters(5).Value = contents Return SqlCom.ExecuteNonQuery()
文介绍了在ASP.NET2.0中使用存储过程的方法。
最新推荐文章于 2024-08-20 19:07:12 发布