Wind-Eagle

No pain,no gain!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年8月6日

摘要: 首先,我们来分析SELECT 语法:SELECT[ALL|DISTINCT][TOPnExpr[PERCENT]][Alias.]Select_Item[[AS]Column_Name][,[Alias.]Select_Item[[AS]Column_Name]...]FROM[FORCE][DatabaseName!]Table[[AS]Local_Alias][[INNER|LEFT[OUTER]|RIGHT[OUTER]|FULL[OUTER]JOINDatabaseName!]Table[[AS]Local_Alias][ONJoinCondition...][[INTODestina 阅读全文

posted @ 2012-08-06 15:27 Andrew Yin 阅读(374) 评论(0) 推荐(0) 编辑

摘要: 我们的组件已经相对可用了,可我们的用户是挑剔的,有的用户提出了三个要求:1. 加入分布式事务的支持2. 我不想写任何SQL,我就是想做一些简单的单表数据库操作,能不能自动生成SQL语句?3. 我想要像EF或者NH那样的父对象的SAVE调用会把子对象都SAVE的功能,我称为级联SQL操作。我们本次的封装将实现这些需求。首先分析一下,实现第一个需求,我不想动原来的任何方法的接口,因此我想到了线程本地存储的概念。另外,分布式事务,我这里单指数据库分布式事务,就是说,一个事务里访问了 A数据库,也访问了B数据库,分布式事务维持一个本地事务的列表,当所有本地事务都符合提交条件时,才提交分布式事务。因此, 阅读全文

posted @ 2012-08-06 14:28 Andrew Yin 阅读(474) 评论(0) 推荐(0) 编辑

摘要: 接上篇。。。除了上篇说到的以外,我们还完全抄袭了微软企业库里的这三个文件:DbConnectionStore.cs 读取连接字符串的配置DAABSectionHandler.cs 读取Provider配置Field.cs 方便读取 DataReader, 和获取输出参数值,返回参数值的类,其实一点都不方便(被后面的DbUtil类替代),我们没有怎么用到微软后来还创建了一个Param类,代码很简单:publicclassParam:List<IDataParameter>{publicParam(DbProvideTypeprovider){Ado=AdoHelper.CreateH 阅读全文

posted @ 2012-08-06 12:53 Andrew Yin 阅读(284) 评论(0) 推荐(0) 编辑

摘要: 两年多没有登录园子了,可见哥的懒惰程度,刚刚通过邮箱找回了用户名和密码。今天上午的任务是系统地写一篇文章来说明我最近开发的一个数据访问层组件(你也可以称之为OR Mapping 组件)的开发思路,以及把它和其他 OR Mapping 组件 进行PK。你知道的,哥一向不喜欢说废话的,进入正题的意识流。首先,最基本的,我们对数据库的访问主要有哪些形式呢?哪些最基本的需求呢?回答这个问题,我们来看看最最基础的ADO .NET有哪些数据访问接口,发现如下: ExecuteNonQueryExecuteScalarExecuteReaderExecuteDataset FillDataSetUpdat. 阅读全文

posted @ 2012-08-06 12:01 Andrew Yin 阅读(531) 评论(1) 推荐(0) 编辑