ADO.NET数据访问模板整理
/// <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 > )
{
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 > )
{
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 > )
{
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 != - ? string.Format(" AND showpage={0} ", condition.ShowPage) : string.Empty;
searchCondition += condition.Status != - ? 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 != - ? condition.ShowPage.ToString() : string.Empty));
parameters.Add(new MySqlParameter("status", condition.Status != - ? 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 > )
{
DataTable dt = PageAccess.GetDataSetByPage(ConnStrs.AndroidConnStrForWrite, pageIndex, pageSize, dataTableKey, selectColumn, dataCodeKey, searchCondition, sortString, parameters.ToArray()).Tables[];
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 > )
{
TestEN model;
for (int n = ; n < rowsCount; n++)
{
model = BuildEntity(dt.Rows[n]);
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[].Rows.Count>)
{
model = BuildEntity(ds.Tables[].Rows[]);
return model;
}
else
{
return null;
}
}
#endregion Method
}
ADO.NET数据访问模板整理的更多相关文章
- ADO.NET数据访问技术
ADO.NET数据访问技术 就是将C#和MSSQLl连接起来的纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中,也可以将数据库中的数据提取到内存中供程序调用.是所有数据访问技术的基础. A ...
- Spring.NET 中的 ADO.NET 数据访问的示例
Spring.NET 1.3.1 中提供了一个使用 AdoTemplate 的完整示例,包括使用泛型和使用非泛型技术进行数据访问,这个示例位于下载的压缩包中\Spring.NET-1.3.1\Spri ...
- ADO.net数据访问方法
ADO.NET是一组用于和数据源进行交互的面向对象的类库. 核心组件有两个: DataSet 是 ADO.NET 的非连接(断开)结构的核心组件.DataSet 的设计目的很明确:为了实现独立于任何数 ...
- ADO.NET 数据访问类查询、属性扩展
今天,我首先在之前所做的人员管理系统的基础上,利用数据访问类进行了所有人员信息的查询. 主程序代码: List<Users> Ulist = new UsersData().Select( ...
- ADO.net数据访问
需要引用对应命名空间:System.Data.SqlClient; SqlConnection:连接对象SqlCommand:命令对象SqlDataReader:读取器对象 //造连接字符串 stri ...
- ADO.NET数据访问基础与综合应用2020年10月31日20:17:09学习笔记
四.创建数据表 1.数据表的名称. 2.表中的字段名.数据类型.是否可以为空.字段的约束.必备的字段(通常会有一个ID,表示实体的唯一性:可以直接手写,也可以使用种子标识自动生成,给定起始值,给定增长 ...
- 三、Spring——数据访问
1.Spring 对 DAO的支持 Spring支持目前大多数常用的数据持久化技术,Spring定义了一套面向DAO层的异常体系,并未各种支持的持久化技术提供了异常转换器.这样,我们在设计DAO接口时 ...
- ADO.Net 数据库访问技术
1.在web.Config配置文件中设置连接字符串 <connectionStrings> <add name="connString" connectionSt ...
- Enterprise Library 4 数据访问应用程序块
Enterprise Library 数据访问应用程序块简化了实现常规数据访问功能的开发任务.应用程序可以在各种场景中使用此应用程序块,例如为显示而读取数据.传递数据穿过应用程序层( applicat ...
随机推荐
- Android导包导致java.lang.NoClassDefFoundError
摘要: SDK方法总数是不能超过65k的.是否也引入其他的三方库,导致总数超过限制.超出限制会导致部分class找不到,引发java.lang.NoClassDefFoundError.解决方法:近日 ...
- Winform Textbox控件字体垂直居中
项目中遇到要求Textbox内的字体垂直居中的问题,在网上找一直没有理想的解决方案.后来发现可以通过设置控件的字体来达到预期的效果. 默认的Textbox的Font属性为 “宋体, 9pt”,效果如下 ...
- Ubuntu 12.04 安装 Apache2+PHP5+MySQL
LAMP是Linux web服务器组合套装的缩写,分别是Apache+MySQL+PHP.此教程教大家如何在Ubuntu 12.04 LTS server 上安装Apache2服务器,包括PHP5(m ...
- SpringMVC学习
1,对SpringMVC的理解 a,基于MVC的设计理念 b,采用松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性 c,支持REST风格的URL请求 d,该框架围绕DispatcherSer ...
- mysql基准测试
1. 及注册时有两种主要的策略:①正对整个系统的整体测试(集成式full-stack) ②单独测试mysql(但组件式基准测试single-component) 2.获取系统性能和状态(需要记录的数据 ...
- windows下ThinkPHP3.2.3使用memcache缓存
准备 要使用memcache,首先要安装配置好memcache服务memcached: 下载http://downloads.northscale.com/memcached-win64-1.4.4- ...
- Dark Mobile Bank之移动银行应用仿冒攻击威胁分析报告
一.背景 据“第十五次全国信息网络安全状况暨计算机和移动终端病毒疫情调查”调查结果显示,2015年移动终端的病毒感染比例为50.46%,相对于2014年增长了18.96%,移动终端病毒感染率涨幅较大, ...
- postgresql 常用数据库命令
连接数据库, 默认的用户和数据库是postgrespsql -U user -d dbname 切换数据库,相当于MySQL的use dbname\c dbname列举数据库,相当于mysql的sho ...
- 【转载】关于treeview的多层显示的科学用法!
http://blogs.msdn.com/b/mikehillberg/archive/2009/10/30/treeview-and-hierarchicaldatatemplate-step-b ...
- 开发常用技巧之css字体编码
简介: 当我们写css时,通常需要设置字体名称,我们可以直接写中文,这样没错,但是文件编码为GB2312.UTF-8等不匹配将会出现乱码.因此将中文字体名称转为unicode编码来避免出现这些错误. ...