asp.net中調(diào)用存儲(chǔ)過程的方法

字號(hào):


    本文實(shí)例講述了asp.net中調(diào)用存儲(chǔ)過程的方法。分享給大家供大家參考,具體如下:
    一、建立并調(diào)用一個(gè)不帶參數(shù)的存儲(chǔ)過程如下:
    CREATE PROCEDURE 全部學(xué)生<dbo.selectUsers>
    AS SELECT * FROM 學(xué)生
    GO
    EXEC 全部學(xué)生
    建立并調(diào)用一個(gè)帶參數(shù)的存儲(chǔ)過程如下:
    CREATE PROCEDURE 學(xué)生查詢1
    @SNAME VARCHAR(8),@SDEPT VARCHAR(20)
    AS SELECT * FROM 學(xué)生 WHERE 姓名=@SNAME AND 所在系=@SDEPT
    GO
    EXEC 學(xué)生查詢1 '張三','計(jì)算機(jī)系'
    或:
    EXEC 學(xué)生查詢1 @SNAME='張三',@SDEPT='計(jì)算機(jī)系'
    (2)刪除存儲(chǔ)過程:
    DROP PROCEDURE<存儲(chǔ)過程名組>
    二、在asp.net中調(diào)用存取過程:
    DBHelper.cs
    //不帶參數(shù)
    public static DataTable GetList(string sqlDBO)
    {
      DataSet ds = new DataSet();
      SqlCommand cmd = new SqlCommand(sqlDBO, Connection);
      cmd.CommandType = CommandType.StoredProcedure; //指定命令類型為存儲(chǔ)過程
      SqlDataAdapter da = new SqlDataAdapter(cmd);
      da.Fill(ds);
      return ds.Tables[0];
    }
    //帶參數(shù)
    public static DataTable GetList(string sqlDBO,params SqlParameter[] values)
    {
      DataSet ds = new DataSet();
      SqlCommand cmd = new SqlCommand(sqlDBO, Connection);
      cmd.CommandType = CommandType.StoredProcedure; //指定命令類型為存儲(chǔ)過程
       cmd.Parameters.AddRange(values);
       //cmd.Parameters.AddWithValue("@參數(shù)1", 值1); 
       //cmd.Parameters.AddWithValue("@參數(shù)2", 值2);
      SqlDataAdapter da = new SqlDataAdapter(cmd);
      da.Fill(ds);
      return ds.Tables[0];
    }
    UsersService.cs
    //不帶參數(shù)
    public static IList<Users> GetUserList()
    {
      List<Users> list = new List<Users>();
      DataTable table = DBHelper.GetList("存儲(chǔ)過程名稱");
      foreach (DataRow row in table.Rows)
      {
        Users users = new Users();
        users.Id=(int)row["id"];
        users.UserName=(string)row["userName"];
        users.Password=(string)row["password"];
        list.Add(users);
      }
      return list;
    }
    //帶參數(shù)
    public static IList<Users> GetUserList(string userName,string password)
    {
      List<Users> list = new List<Users>();
      SqlParameter[] para=new SqlParameter[]
      {
        new SqlParameter("@userName",userName),
        new SqlParameter("@password",password)
    };
      DataTable table = DBHelper.GetList("存儲(chǔ)過程名稱",para);
      foreach (DataRow row in table.Rows)
      {
        Users users = new Users();
        users.Id=(int)row["id"];
        users.UserName=(string)row["userName"];
        users.Password=(string)row["password"];
        list.Add(users);
      }
      return list;
    }
    希望本文所述對大家asp.net程序設(shè)計(jì)有所幫助。