本文實例講述了asp.net中調用存儲過程的方法。分享給大家供大家參考,具體如下:
一、建立并調用一個不帶參數的存儲過程如下:
CREATE PROCEDURE 全部學生<dbo.selectUsers>AS SELECT * FROM 學生GOEXEC 全部學生
建立并調用一個帶參數的存儲過程如下:
CREATE PROCEDURE 學生查詢1@SNAME VARCHAR(8),@SDEPT VARCHAR(20)AS SELECT * FROM 學生 WHERE 姓名=@SNAME AND 所在系=@SDEPTGOEXEC 學生查詢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程序設計有所幫助。