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程序设计有所帮助。