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 ...
随机推荐
- c++拷贝构造和编译优化
#include <iostream> using namespace std; class MyClass { public: MyClass(); MyClass(int i); My ...
- getAttribute、setAttribute、removeAttribute
1.函数语法 elementNode.attributes:属性返回包含被选节点属性的 NamedNodeMap. elementNode.getAttribute(name):方法通过名称获取属性的 ...
- express细节点注意
删除 cookie 需要这么 res.cookie('admin_uid',"null",{maxAge:0, httpOnly:true, path:'/',domain:'.o ...
- sha512散列(C语言)
/** * \file sha4.h * * \brief SHA-384 and SHA-512 cryptographic hash function * * Copyright (C) 2006 ...
- OpenGL实现3D漫游的理解
这篇文章主要参考以下两篇博客: 推导相机变换矩阵 OpenGL系列教程之五:OpenGL矩阵类 上面的第一篇是理论的讲解,第二篇有实例代码,我在后面会给出自己写的主函数,依赖的类可以从第二篇参考中下载 ...
- 类js效果
类似js效果,点击看看 代码 onclick="return confirm('您确定要看看吗?')" 放入a标签里面
- Git 常用命令详解
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- Fedora 安装gcc gcc-c++
Fedora本身没有自带gcc 和 g++编译器,所以需要我们自己去安装,步骤如下: 1.切换到root用户(或者跳过这个步骤,直接在下面命令前面加上 sudo) su root 2.安装gcc yu ...
- Java基础学习(四)
流程控制 /* 控制流程语句之---if 判断语句 格式一: 只适用于一种情况下去使用. if(判断条件){ 符合条件执行的代码; } 格式二:适用于两种情况下去使用 if(判断条件){ 符合条件执行 ...
- Knockout.js随手记(6)
实时反映对象属性的变化 在前一篇博客中我们使用了如下代码去新增user对象,即push方法: $("#btnAddUser").click(function () { vm.use ...