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 ...
随机推荐
- [转]Raspberry Pi做成路由器
http://raspjason.blog.51cto.com/8565009/1426561/ 曾经看到很多文章把Raspberry Pi制作成无线AP,但是我今天要做的是把Raspberry Pi ...
- 前端经常使用插件使用文档 以及demo
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...
- iOS 内存管理机制和循环引用处理方法
简述 ARC: 自动引用计数, Automatic Reference Counting MRC: Mannul Reference Counting ARC工作原理 1.当每次创建一个新实例时,AR ...
- C#利用NOPI处理Excel的代码
using System; using System.Data; using System.IO; using System.Text; using System.Web; using NPOI.HP ...
- System.Diagnostics.Stopwatch
System.Diagnostics.Stopwatch 注意:此类在 .NET Framework 2.0 版中是新增的.MSDN Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量 ...
- Unity数据存储路径总结
一.在项目根目录中创建Resources文件夹来保存文件.可以使用Resources.Load("文件名字,注:不包括文件后缀名");把文件夹中的对象加载出来.注:此方可实现对文件 ...
- EvreryDay Collect
1.在使用WebService时我们经常会考虑以下问题:怎么防止别人访问我的WebService? 在System.Net中提供了一个NetworkCredential,只有获得该凭证的用户才能访问相 ...
- 跟随标准与Webkit源码探究DOM -- 获取元素之getElementsByName
按照name属性获取多元素 -- getElementsByName 标准 DOM 1 定义在HTMLDocument Interface 中,原型NodeList getElementsByName ...
- SQL Server 问题 1 - SQL Server encountered error 0x80070422/0x8007042d
今天执行SQL Server 2014的full-text search 查询操作:select * from table where contains(summary, 'smith') 报出如下错 ...
- Go语言实现HashSet
set.go // set project set.go package set type Set interface { Add(e interface{}) bool Remove(e inter ...