ADO.NET数据访问模板整理
2014-01-16 15:27
197 查看
/// <summary> /// 数据访问类:hi_test /// </summary> public partial class TestDA { public TestDA() {} #region Method /// <summary> /// 增加一条数据 /// </summary> public bool Add(TestEN model) { StringBuilder strSql=new StringBuilder(); strSql.Append("insert into hi_test("); strSql.Append("name,showpage,status,create_time)"); strSql.Append(" values ("); strSql.Append("?name,?showpage,?status,?create_time)"); MySqlParameter[] parameters = { new MySqlParameter("?name", model.Name), new MySqlParameter("?showpage", model.ShowPage), new MySqlParameter("?status", model.Status), new MySqlParameter("?create_time", model.CreateTime)}; int rows = MySqlHelper.ExecuteNonQuery(ConnStrs.AndroidConnStrForWrite, strSql.ToString(), parameters); if (rows > 0) { return true; } else { return false; } } /// <summary> /// 更新一条数据 /// </summary> public bool Update(TestEN model) { StringBuilder strSql=new StringBuilder(); strSql.Append("update hi_test set "); strSql.Append("name=?name,"); strSql.Append("showpage=?showpage,"); strSql.Append("status=?status"); strSql.Append("create_time=?create_time"); strSql.Append(" where id=?id"); MySqlParameter[] parameters = { new MySqlParameter("?name", model.Name), new MySqlParameter("?showpage",model.ShowPage), new MySqlParameter("?status", model.Status), new MySqlParameter("?create_time",model.CreateTime), new MySqlParameter("?id",model.Id)}; int rows = MySqlHelper.ExecuteNonQuery(ConnStrs.AndroidConnStrForWrite, strSql.ToString(), parameters); if (rows > 0) { return true; } else { return false; } } /// <summary> /// 删除一条数据 /// </summary> public bool Delete(int Id) { StringBuilder strSql=new StringBuilder(); strSql.Append("delete from hi_test "); strSql.Append(" where id=?id"); MySqlParameter[] parameters = { new MySqlParameter("?id",Id) }; int rows = MySqlHelper.ExecuteNonQuery(ConnStrs.AndroidConnStrForWrite, strSql.ToString(), parameters); if (rows > 0) { return true; } else { return false; } } public IList<TestEN> Find(int pageIndex, int pageSize, TestEN condition, ref int totalCount) { string dataTableKey = "hi_test"; string dataCodeKey = "id"; string selectColumn = " id,name,showpage,status,create_time "; string sortString = " create_time desc "; string searchCondition = " 1=1 "; if (condition != null) { searchCondition += !string.IsNullOrEmpty(condition.Name) ? string.Format(" AND name like ?name escape '^' ") : string.Empty;//模糊匹配 //searchCondition += !string.IsNullOrEmpty(condition.Name) ? string.Format(" AND name=?name ") : string.Empty;//精确匹配 searchCondition += condition.ShowPage != -1 ? string.Format(" AND showpage={0} ", condition.ShowPage) : string.Empty; searchCondition += condition.Status != -1 ? string.Format(" AND status={0} ", condition.Status) : string.Empty; // searchCondition += condition.CreateTime != -1 ? string.Format(" AND create_time={0} ", condition.CreateTime) : string.Empty; } try { List<MySqlParameter> parameters = new List<MySqlParameter>(); parameters.Add(new MySqlParameter("name", string.IsNullOrEmpty(condition.Name) ? string.Empty : "%" + condition.Name.Replace("%", "^%").Replace("_", "^_") + "%")); //parameters.Add(new MySqlParameter("name", string.IsNullOrEmpty(condition.Name) ? string.Empty : condition.Name)); parameters.Add(new MySqlParameter("showpage", condition.ShowPage != -1 ? condition.ShowPage.ToString() : string.Empty)); parameters.Add(new MySqlParameter("status", condition.Status != -1 ? condition.Status.ToString() : string.Empty)); // parameters.Add(new MySqlParameter("create_time", condition.CreateTime != -1 ? condition.ShowPage.ToString() : string.Empty)); totalCount = PageAccess.GetItemCount(ConnStrs.AndroidConnStrForWrite, dataTableKey, searchCondition, parameters.ToArray()); if (totalCount > 0) { DataTable dt = PageAccess.GetDataSetByPage(ConnStrs.AndroidConnStrForWrite, pageIndex, pageSize, dataTableKey, selectColumn, dataCodeKey, searchCondition, sortString, parameters.ToArray()).Tables[0]; return DataTableToList(dt); } } catch (Exception e) { throw e; } return null; } /// <summary> /// 获得数据列表 /// </summary> public List<TestEN> DataTableToList(DataTable dt) { List<TestEN> modelList = new List<TestEN>(); int rowsCount = dt.Rows.Count; if (rowsCount > 0) { TestEN model; for (int n = 0; n < rowsCount; n++) { model = BuildEntity(dt.Rows ); modelList.Add(model); } } return modelList; } public TestEN BuildEntity(DataRow dr) { TestEN model = new TestEN(); if (dr["id"] != null && dr["id"].ToString() != "") { model.Id = int.Parse(dr["id"].ToString()); } if (dr["name"] != null && dr["name"].ToString() != "") { model.Name = dr["name"].ToString(); } if (dr["showpage"] != null && dr["showpage"].ToString() != "") { model.ShowPage = int.Parse(dr["showpage"].ToString()); } if (dr["status"] != null && dr["status"].ToString() != "") { model.Status = int.Parse(dr["status"].ToString()); } if (dr["create_time"] != null && dr["create_time"].ToString() != "") { model.CreateTime = int.Parse(dr["create_time"].ToString()); } return model; } /// <summary> /// 得到一个对象实体 /// </summary> public TestEN GetModel(int Id) { StringBuilder strSql=new StringBuilder(); strSql.Append("select id,name,showpage,status,create_time from hi_test "); strSql.Append(" where id=?id"); MySqlParameter[] parameters = { new MySqlParameter("?id", Id) }; TestEN model = new TestEN(); DataSet ds = MySqlHelper.ExecuteDataSet(ConnStrs.AndroidConnStrForWrite, strSql.ToString(), parameters); if(ds.Tables[0].Rows.Count>0) { model = BuildEntity(ds.Tables[0].Rows[0]); return model; } else { return null; } } #endregion Method }
View Code
相关文章推荐
- ADO.NET 数据访问
- ADO和ADO.NET在数据访问上的区别
- ADO.NET数据访问方式:DataSet
- ado在vb.net中的数据访问类
- 网络工作室暑假后第一次培训资料(ADO.NET创建访问数据集)整理
- 网络工作室暑假后第二次培训资料(SQLServer存储过程和ADO.NET访问存储过程)整理(二)
- ado.net数据访问类
- Microsoft Visual Studio 2010 已安装的模板 没有 “ADO.NET实体数据模型”
- ADO.NET中的数据访问--强类型
- 黑马程序员_学习日记48_616数据库开发及ADO.Net(带参数的Sql语句、数据库与文本文件导入导出、省市联动、资料管理器、DataSet (ado.net断开式数据访问)、SQLHelper)
- 剖析 ADO.NET 批处理更新(深入研究数据访问)
- 剖析 ADO.NET 批处理更新(深入研究数据访问)
- ADO.NET(一) 空间 ADO.NET结构 命名空间(车延禄) System.Data—— 所有的一般数据访问类 S(转载)
- 强大的数据访问助手——ADO.NET
- ADO和ADO.NET的区别(数据访问角度)
- .net企业级架构实战之4——Spring.net下的nHibernate数据访问模板
- ADO.NET - 连接方式数据访问SqlCommand
- 使用 ADO.NET 和 Oracle 进行高级数据访问
- 数据访问---ADO.NET
- ADO.NET数据访问(2) 查询数据