csharp: 用Enterprise Library对象实体绑定数据
Enterprise Library: https://msdn.microsoft.com/en-us/library/ff648951.aspx
/// <summary>
/// 是否存在该记录
/// </summary>
/// <param name="ReportID"></param>
/// <returns></returns>
public bool Exists(string ReportID)
{
Database db = DatabaseFactory.CreateDatabase();
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) from BookPlaceList where BookPlaceID=@BookPlaceID ");
DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());
db.AddInParameter(dbCommand, "BookPlaceID", DbType.AnsiString, ReportID);
int cmdresult;
object obj = db.ExecuteScalar(dbCommand);
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
cmdresult = 0;
}
else
{
cmdresult = int.Parse(obj.ToString());
}
if (cmdresult == 0)
{
return false;
}
else
{
return true;
}
}
/// <summary>
/// 增加一条数据
/// </summary>
/// <param name="model"></param>
public int Add(BookPlaceListInfo model)
{
int i=0;
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into BookPlaceList(");
strSql.Append("BookPlaceName,BookPlaceCode,BookPlaceParent)");
strSql.Append(" values (");
strSql.Append("@BookPlaceName,@BookPlaceCode,@BookPlaceParent)");
Database db = DatabaseFactory.CreateDatabase();
DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());
db.AddInParameter(dbCommand, "BookPlaceName", DbType.String, model.BookPlaceName);
db.AddInParameter(dbCommand, "BookPlaceCode", DbType.String, model.BookPlaceCode);
db.AddInParameter(dbCommand, "BookPlaceParent", DbType.Int32, model.BookPlaceParent);
i=db.ExecuteNonQuery(dbCommand);
return i;
}
/// <summary>
/// 更新一条数据
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int Update(BookPlaceListInfo model)
{
int i = 0;
StringBuilder strSql = new StringBuilder();
strSql.Append("update BookPlaceList set ");
strSql.Append("BookPlaceName=@BookPlaceName,");
strSql.Append("BookPlaceCode=@BookPlaceCode,");
strSql.Append("BookPlaceParent=@BookPlaceParent,");
strSql.Append(" where BookPlaceID=@BookPlaceID ");
Database db = DatabaseFactory.CreateDatabase();
DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());
db.AddInParameter(dbCommand, "BookPlaceID", DbType.Int32, model.BookPlaceID);
db.AddInParameter(dbCommand, "BookPlaceName", DbType.String, model.BookPlaceName);
db.AddInParameter(dbCommand, "BookPlaceCode", DbType.String, model.BookPlaceCode);
db.AddInParameter(dbCommand, "BookPlaceParent", DbType.Int32, model.BookPlaceParent);
i= db.ExecuteNonQuery(dbCommand);
return i;
} /// <summary>
///
/// </summary>
/// <param name="ReportID"></param>
/// <returns></returns>
public int Delete(string ReportID)
{
int i = 0;
StringBuilder strSql = new StringBuilder();
strSql.Append("delete BookPlaceList ");
strSql.Append(" where bookPlaceID=@bookPlaceID ");
Database db = DatabaseFactory.CreateDatabase();
DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());
db.AddInParameter(dbCommand, "bookPlaceID", DbType.AnsiString, ReportID);
i=db.ExecuteNonQuery(dbCommand); return i; }
/// <summary>
/// 获得数据列表
/// </summary>
/// <param name="strWhere"></param>
/// <returns></returns>
public DataSet GetList(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select * ");
strSql.Append(" FROM BookPlaceList ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
Database db = DatabaseFactory.CreateDatabase();
return db.ExecuteDataSet(CommandType.Text, strSql.ToString());
}
/// <summary>
/// 获得数据列表(比DataSet效率高,推荐使用)
/// using Microsoft.Practices.EnterpriseLibrary.Data;
///using Microsoft.Practices.EnterpriseLibrary.Data.Sql;
/// </summary>
/// <param name="strWhere"></param>
/// <returns></returns>
public List<BookPlaceListInfo> GetListArray(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select * ");
strSql.Append(" FROM BookPlaceList ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
List<BookPlaceListInfo> list = new List<BookPlaceListInfo>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader dataReader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (dataReader.Read())
{
list.Add(ReaderBind(dataReader));
}
}
return list;
} /// <summary>
/// 得到一个对象实体
/// </summary>
public BookPlaceListInfo GetModel(string bookPlaceID)
{ StringBuilder strSql = new StringBuilder();
strSql.Append("select * from BookPlaceList ");
strSql.Append(" where bookPlaceID=@bookPlaceID ");
Database db = DatabaseFactory.CreateDatabase();
DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());
db.AddInParameter(dbCommand, "bookPlaceID", DbType.AnsiString, bookPlaceID);
BookPlaceListInfo model = null;
using (IDataReader dataReader = db.ExecuteReader(dbCommand))
{
if (dataReader.Read())
{
model = ReaderBind(dataReader);
}
}
return model;
} /// <summary>
/// 对象实体绑定数据
/// </summary>
/// <param name="dataReader"></param>
/// <returns></returns>
private BookPlaceListInfo ReaderBind(IDataReader dataReader)
{
BookPlaceListInfo bookPlaceList = new BookPlaceListInfo();
//1.
//object ojb;
//ojb = dataReader["BookPlaceID"];
//if (ojb != null && ojb != DBNull.Value)
//{
// bookPlaceList.BookPlaceID = (int)ojb;
//}
//ojb = dataReader["BookPlaceName"];
//if (ojb != null && ojb != DBNull.Value)
//{
// bookPlaceList.BookPlaceName = (string)ojb;
//}
//2.
bookPlaceList.BookPlaceID = (!object.Equals(dataReader["BookPlaceID"], null)) ? (int)dataReader["BookPlaceID"] : 0;
bookPlaceList.BookPlaceName = (!object.Equals(dataReader["BookPlaceName"], null)) ? (string)dataReader["BookPlaceName"] : "";
bookPlaceList.BookPlaceCode = (!object.Equals(dataReader["BookPlaceCode"], null)) ? (string)dataReader["BookPlaceCode"] : "";
bookPlaceList.BookPlaceParent = (!object.Equals(dataReader["BookPlaceParent"], null)) ? (int)dataReader["BookPlaceParent"] : 0; return bookPlaceList; }
http://www.codeproject.com/Articles/12035/Updating-a-DataSet-with-Multiple-Tables-using-Ente
// Dbcommandwrapper
// Database myDatabase = DatabaseFactory.CreateDatabase();
// DBCommandWrapper myCommand = myDatabase.GetStoredProcCommandWrapper("sp_ConsignedItemsInsert");
csharp: 用Enterprise Library对象实体绑定数据的更多相关文章
- 05 HTML字符串转换成jQuery对象、绑定数据到元素上
1 要求 将一段 HTML脚本 封装成一个字符串,将这个字符串转换成一个jQuery对象:然后将这个jQuery对象添加到指定的元素中去 2 步骤 定义字符串 var str = '<div i ...
- 微软企业库5.0 学习之路——扩展学习篇、库中的依赖关系注入(重构 Microsoft Enterprise Library)[转]
这篇文章是我在patterns & practices看到的一篇有关EntLib5.0的文章,主要介绍了EntLib5.0的这次的架构变化由来,觉得很不错,大家可以看一下! 在过去几年中,依赖 ...
- Enterprise Library 4 数据访问应用程序块
Enterprise Library 数据访问应用程序块简化了实现常规数据访问功能的开发任务.应用程序可以在各种场景中使用此应用程序块,例如为显示而读取数据.传递数据穿过应用程序层( applicat ...
- 组件的通信 :provide / inject 对象进入后,就等于不用props,然后内部对象,直接复制可以接受数组,属性不能直接复制,可以用Object.assgin覆盖对象,或者Vue的set 双向绑定数据
组件的通信 :provide / inject 对象进入后,就等于不用props,然后内部对象,直接复制可以接受数组,属性不能直接复制,可以用Object.assgin覆盖对象,或者Vue的set 双 ...
- WPF 动态列(DataGridTemplateColumn) 绑定数据 (自定义控件)对象绑定
原文:WPF 动态列(DataGridTemplateColumn) 绑定数据 (自定义控件)对象绑定 WPF 动态列(DataGridTemplateColumn) 绑定数据 (自定义控件) 上面的 ...
- Enterprise Library深入解析与灵活应用(2): 通过SqlDependency实现Cache和Database的同步
对于一个真正的企业级的应用来说,Caching肯定是一个不得不考虑的因素,合理.有效地利用Caching对于增强应用的Performance(减少对基于Persistent storage的IO操作) ...
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(九) Policy Injection Application Block
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(九) Policy Injection Application Block 代理对象(Proxy Object) ...
- Microsoft Enterprise Library 5.0 系列(三)
一.简介及用途 在实际的项目开发中,我们总会需要对数据进行验证,以保证数据的可靠性,而为了使这些验证可以在不同的地方进行复用(如winform.web.WPF等),就需要将验证进行封装,EntLib的 ...
- 在数据库访问项目中使用微软企业库Enterprise Library,实现多种数据库的支持
在我们开发很多项目中,数据访问都是必不可少的,有的需要访问Oracle.SQLServer.Mysql这些常规的数据库,也有可能访问SQLite.Access,或者一些我们可能不常用的PostgreS ...
随机推荐
- Maven3路程(六)用Maven创建Spring3 MVC项目
Maven3路程(六)用Maven创建Spring3 MVC项目 一. 环境 spring-framework-3.2.4.RELEASE jdk1.7.0_11 Maven3.0.5 ec ...
- SQL2008数据库优化常用脚本
--查询某个数据库的连接数 select count(*) from Master.dbo.SysProcesses where dbid=db_id() --前10名其他等待类型 SELECT TO ...
- JavaWeb(李兴华著)开发笔记
1.Java语法-基础 环境变量-JAVA_HOME, PATH, ClassPath 变量名 作用 举例 JAVA_HOME 指向JDK目录 C:\Program Files\Java\jdk1.7 ...
- CSS基础(二):基础和语法
CSS语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明.选择器通常是您需要改变样式的 HTML 元素. selector {declaration1; declaration2; . ...
- SDL安全人员角色定义
SDL安全人员角色定义 http://www.docin.com/p-819975580.html
- EDM营销之双十一最新实战营销指南汇总
双十一虽已进入第八个年头,但其影响力只增不减,倒计时期间商家们都已火力全开.再结合全社会消费升级的大背景,如何才能在激烈竞争中杀出一条血路呢? 本次Focussend基于实战操作,以短信营销.邮件营销 ...
- 最近新装系统windows8.1+Mac。。。还没装驱动就遇到一堆问题。。。
---恢复内容开始--- 1,刚开始装好了,后来莫名看不到磁盘了,原因:64位mac盘会丢失盘符,所以macdrive也看不到...解决:(将AF改为06,修改内容后改回AF,早知道这么简单就不用重新 ...
- 【原】Configuring Oracle Data Guard In Physical Standby Database
作者:david_zhang@sh [转载时请以超链接形式标明文章] http://www.cnblogs.com/david-zhang-index/p/5042640.html参照文档:https ...
- Eclipse项目名出现红叉
一.背景与原因 项目第一次加进来的时候,我用的是D:\Java\jdk1.7.0_17,后来由于配置将tomcat切换到jboss,说是JBOSS某个版本只支持jdk6,我就将“环境变量JAVA_HO ...
- maven中文乱码问题——编译错误
新建了个web应用,用maven配置的. Java源代码采用了utf-8编码格式. 本地编译打包,报错误. 由于系统默认编码是GBK,因此需要采用utf-8来编译. 采用如下方式: 在pom中添加 ...