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 ...
随机推荐
- android-tools-adb
sudo apt-get install android-tools-adbsudo apt-get install android-tools-fastboot
- android 开发环境
http://blog.csdn.net/shulianghan/article/details/38023959
- p范数(p norm)
先回顾一下范数的定义(en.wikipedia.org/wiki/Norm_(mathematics)): Given a vector space V over a subfield F of th ...
- Java框架篇---Mybatis 构建SqlSessionFactory
从 XML 中构建 SqlSessionFactory 基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的.SqlSessionFactory 的实例可以通过 ...
- annotation:@Override出现The method of type must override asuperclass解决方案
原因追踪及解决办法: 1. 查阅资料发现说在jdk1.5下要使用@Override这个annotation必须保证被标注的方法来源于class而不是interface. 2. 即使自己的jdk是1.6 ...
- EventKit 学习(译)
From:http://docs.xamarin.com/guides/ios/platform_features/introduction_to_eventkit/ 本教程展示了对于如何通过Even ...
- Hibernate基础映射
在说Hibernate映射前,我们先来了解下对象关系映射 ORM.ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现.这样开发人员就可以把对数据库的操作转化为对这些对象的操作.我们 ...
- Web程序员开发App系列 - 申请苹果开发者账号
Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...
- bootstrap插件学习-bootstrap.tab.js
先看bootstrap-tab.js的结构 var Tab = function ( element ) {} //构造器 Tab.prototype ={} //构造器的原型 $.fn.tab = ...
- n 后问题
n后问题,解决思路:假设每个皇后占一行(且第i个皇后放在第i - 1 行),依次去尝试下一个皇后该放在该行的哪一列 #include<iostream> #include<cmath ...