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 ...
随机推荐
- Entityframework修改某个字段
public void ChangePassword(int userId, string password) { var user = new User() { Id = userId, Passw ...
- jQuery超炫酷按钮插件及源码
现在大部分网页的按钮都是经过美化的,那些原始的浏览器按钮太过于枯燥乏味,让用户失去和网站交互的兴趣.早期我们都是通过背景图片来美化网页按钮,而现在我们可以利用扩展性更好的CSS3来制作漂亮的网页按钮, ...
- saiku缓存整理
使用saiku的人,肯定都有这么一个经历,查询了一次多维分析数据表,第二次之后就特别快,因为它缓存了结果,可问题是过了一天,甚至几天,来源数据早都更换了,可还是这个缓存结果.问题来了,缓存不失效! 那 ...
- MFC下调用控制台和控制台下MFC库的支持
1.MFC下调用控制台 在CWinApp的InitInstance中对话框的DoModal之前加入 AllocConsole(); // 开辟控制台 SetConsoleTitle(_T(" ...
- MVC自定义视图规则
自定义规则: using System.Web.Mvc; using System.Configuration; namespace Research { public class ViewConfi ...
- Maven Android使用一
Maven的坐标包括:groupId.artifactId.version.packaging.classifier. groupId:定义当前maven项目隶属的实际项目: artifactId:定 ...
- 下载安装与配置 Java JDK 7
1. 去 Oracle 的官网下载 JDK,我下载的是:jdk-7u25-windows-x64.exe 大小为:90.6M 2. 双击它安装. 3. 安装完后,JDK 配置如下: 01 02 - ...
- 移动审批App开发总结
公司新需求要在手机上进行审批. 现在开发完成了. 总结:1.初步把公司的工作流模块做成RPC服务,公共服务可以进行调用. 2.服务分层,每个App的页面对应一个服务端的接口,作为前端控制器,用来从更低 ...
- 【HTML】iframe跨域访问问题
概述 本地同一浏览器访问本地HTML文件和访问服务器端HTML文件,本地Iframe没有自适应高度,而服务器端的Ifrane自适应了高度. 1.问题重现: Chrome 版本 41.0.2272.10 ...
- 【原创】C#搭建足球赛事资料库与预测平台(4) 比赛信息数据表设计
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源C#彩票数据资料库系列文章总目录:[目录]C#搭建足球赛事资料库与预测平台与彩票数据分析目录 本篇文章开始将逐步介 ...