本文實例講述了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程序設計有所幫助。