程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net中調用存儲過程的方法

asp.net中調用存儲過程的方法

編輯:ASP.NET基礎

本文實例講述了asp.net中調用存儲過程的方法。分享給大家供大家參考,具體如下:

一、建立並調用一個不帶參數的存儲過程如下:

CREATE PROCEDURE 全部學生<dbo.selectUsers>
AS SELECT * FROM 學生
GO
EXEC 全部學生

建立並調用一個帶參數的存儲過程如下:

CREATE PROCEDURE 學生查詢1
@SNAME VARCHAR(8),@SDEPT VARCHAR(20)
AS SELECT * FROM 學生 WHERE 姓名=@SNAME AND 所在系=@SDEPT
GO
EXEC 學生查詢1 '張三','計算機系'

或:

EXEC 學生查詢1 @SNAME='張三',@SDEPT='計算機系'

(2)刪除存儲過程:

DROP PROCEDURE<存儲過程名組>

二、在asp.net中調用存取過程:

DBHelper.cs

//不帶參數
public static DataTable GetList(string sqlDBO)
{
  DataSet ds = new DataSet();
  SqlCommand cmd = new SqlCommand(sqlDBO, Connection);
  cmd.CommandType = CommandType.StoredProcedure; //指定命令類型為存儲過程
  SqlDataAdapter da = new SqlDataAdapter(cmd);
  da.Fill(ds);
  return ds.Tables[0];
}
//帶參數
public static DataTable GetList(string sqlDBO,params SqlParameter[] values)
{
  DataSet ds = new DataSet();
  SqlCommand cmd = new SqlCommand(sqlDBO, Connection);
  cmd.CommandType = CommandType.StoredProcedure; //指定命令類型為存儲過程
   cmd.Parameters.AddRange(values);
   //cmd.Parameters.AddWithValue("@參數1", 值1); 
   //cmd.Parameters.AddWithValue("@參數2", 值2);
  SqlDataAdapter da = new SqlDataAdapter(cmd);
  da.Fill(ds);
  return ds.Tables[0];
}

UsersService.cs

//不帶參數
public static IList<Users> GetUserList()
{
  List<Users> list = new List<Users>();
  DataTable table = DBHelper.GetList("存儲過程名稱");
  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;
}
//帶參數
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("存儲過程名稱",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相關內容感興趣的讀者可查看本站專題:《asp.net字符串操作技巧匯總》、《asp.net操作XML技巧總結》、《asp.net文件操作技巧匯總》、《asp.net ajax技巧總結專題》及《asp.net緩存操作技巧總結》。

希望本文所述對大家asp.net程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved