using System; using System.Data; using System.Collections; using System.Data.SqlClient; namespace DAL{ /// DALBase 的摘要说明。 /// 数据层访问基 类,定义数据层访问公共的变量,方法 public class DALBase {// 定义该类共用变量 private SqlConnection conn; private SqlCommand mycm; private DataSet myds; private SqlDataAdapter myda; private string CONNSTR= System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]; // 从web.config中读取 数据库连接字符串 public DALBase() {//构造函数,创建对象实例 conn = new SqlConnection(CONNSTR); mycm = conn.CreateCommand(); myds = new DataSet(); myda = new SqlDataAdapter(); } // 通过存储过程返回查询表的信息 // 存储过程名称 //DataTable protected DataTable GetTable(string sprocName) { conn.Open(); try { mycm.CommandText = sprocName; mycm.CommandType = CommandType.StoredProcedure; myda.SelectCommand = mycm; myda.Fill(myds); finally {//无论语句执行正确与否,都关闭连接释放资源
protected DataTable GetTable(string sprocName, SqlParameter[] parameters) { conn.Open(); try { mycm.CommandText = sprocName; mycm.CommandType = CommandType.StoredProcedure; SqlParameterCollection sqlParams = mycm.Parameters; mycm.Parameters.Clear(); //先清空原有的参数 foreach ( SqlParameter parameter in parameters ) { mycm.Parameters.Add( parameter ); } //给Command添加参数 myda.SelectCommand = mycm; myda.Fill(myds); } finally {//无论语句执行正确与否,都关闭连接释 放资源 return myds.Tables[0]; protected void SaveTale(string sprocName, SqlParameter[] parameters) {mycm.CommandText = sprocName; mycm.CommandType = CommandType.StoredProcedure; SqlParameterCollection sqlParams = mycm.Parameters; //先清空原有的参数 mycm.Parameters.Clear(); //给Command添 加参数 foreach ( SqlParameter parameter in parameters ) { mycm.Parameters.Add( parameter ); } try {//执行 //数据访问层代码: using System; using System.Data; using System.Collections; using System.Data.SqlClient; namespace DAL{ public class Test : DALBase { public Test() { } public DataTable GetTestTable() { return base .GetTable("存储过程名称"); } public DataTable GetTestTableByXName(string XName) { SqlParameter[] parameters= { new SqlParameter( "@XName", SqlDbType.NVarChar,10) }; return base.GetTable("存储过程名称",parameters); } public void AddTestTable(string XName, string Description) { SqlParameter[] parameters = { new SqlParameter( "@XName",SqlDbType.NVarChar,10 ), new SqlParameter("@Description",SqlDbType.NVarChar,100) }; |
数据层学习
数据层学习