文介绍了在ASP.NET2.0中使用存储过程的方法。

来源:互联网 发布:克洛伊婚纱照 知乎 编辑:程序博客网 时间:2024/05/16 06:56
文介绍了在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()
原创粉丝点击