随笔分类 -  Ado.net

ClownFish 使用说明
摘要:ClownFish 是什么?ClownFish 能做什么?ClownFish 有什么特色?如果您有这些疑问,那么请浏览ClownFish的介绍博客:ClownFish:比手写代码还快的通用数据访问层ClownFish适合我吗?我认为,对于数据库的访问方式目前有以下5种方案:1. 有些人喜欢使用存储过程。2. 有些人不喜欢存储过程也不喜欢把SQL语句放在C#代码中。3. 有些人会在C#中嵌入参数化的SQL语句。4. 有些人就是喜欢在C#代码中拼接SQL语句。5. 还有些人不写SQL语句而在使用ORM工具。当然了,还有些人同时混合使用多种方案。我不知道您属于哪一类,如果是最后一类,那么我只能说:C 阅读全文
posted @ 2012-10-03 20:14 Fish Li 阅读(21099) 评论(56) 推荐(117) 编辑
CPQuery, 解决拼接SQL的新方法
摘要:我一直都不喜欢在访问数据库时采用拼接SQL的方法,原因有以下几点:1. 不安全:有被SQL注入的风险。2. 可能会影响性能:每条SQL语句都需要数据库引擎执行[语句分析]之类的开销。3. 影响代码的可维护性:SQL语句与C#混在一起,想修改SQL就得重新编译程序,而且二种代码混在一起,可读性也不好。所以我通常会选择【参数化SQL】的方法去实现数据库的访问过程,而且会将SQL语句与项目代码(C#)分离开。不过,有些人可能会说:我的业务逻辑很复杂,Where中的过虑条件不可能事先确定,因此不拼接SQL还不行。看到这些缺点,ORM用户可能会认为:使用ORM工具就是终极的解决方案。是的,的确ORM可以 阅读全文
posted @ 2012-09-10 08:39 Fish Li 阅读(19932) 评论(96) 推荐(121) 编辑
揭秘 ClownFish 比手写代码还快的原因
摘要:说明:本文的第一版由于反对人数较多(推荐/反对数量是:23 / 17),我在8月20日删除了博文内容,只留下一段简单的内容。既然分享技术也引来这么多的反对,那我就不分享了。如果希望知道我的优化方法,请回复留下email地址。但是让我万万没有想到的是:到10月17日为止,内容没有了,推荐数量还翻了一倍。为了表示对所有点过【推荐】的朋友表示感谢,我决定重写本文。在此,尤其要感谢那些 在没有博文的情况下仍然愿意点击推荐 的朋友,真心谢谢你们的支持。我的每篇博文后面都会说:我的写作热情也离不开您的肯定支持。,所以,是你们重新给了我重写本文的热情。本文的第一版,说了过多的理论内容。在我阅读一些人的评论后 阅读全文
posted @ 2012-08-19 21:24 Fish Li 阅读(11925) 评论(129) 推荐(189) 编辑
ClownFish:比手写代码还快的通用数据访问层
摘要:最近花了二个月的业余时间重写了我以前的通用数据访问层,由于是重写,所以我给这个项目取了个新名字:ClownFish如果需要了解ClownFish的使用方法,请点击ClownFish 使用说明ClownFish是什么?ClownFish 是我编写的一个通用数据访问层,设计它的目的是为了:1. 方便在 .net 项目中执行数据访问任务。2. 避免直接使用ADO.NET带来的一大堆高度类似的繁琐代码。3. 提供出色的性能满足实际项目需要。ClownFish 具有以下一些技术特色:1. 高性能:比手写代码还快的执行速度。2. 简单:执行查询、将查询结果转成实体列表、获取输出参数。 一个调用完成三个步骤 阅读全文
posted @ 2012-07-17 08:26 Fish Li 阅读(68865) 评论(318) 推荐(633) 编辑
我的通用数据访问层 - 监视执行了哪些数据库的操作
摘要:注意:本文所介绍的框架已有新版本,点击后面链接即可阅读。【ClownFish:比手写代码还快的通用数据访问层】这篇文章将介绍在使用我的通用数据访问层时,如何监视程序在运行时发生了哪些数据库的操作。对于很多数据库的应用程序来说,在做性能优化时,就必须知道程序在任何用户操作中,发生了哪些数据库的调用操作,如果发现有不合理的调用,或者发现经常在重复执行同样的操作,就可以采取一些改进的措施。但是,在这个决策之前,了解程序对数据库的访问细节是非常必要的。我的通用数据访问层在提供其它方便功能的同时,也支持监视程序对数据库的访问情况,毕竟对于数据库的操作是由数据访问层最后发出的。于是在另一个辅助工具的配合下 阅读全文
posted @ 2011-05-02 14:55 Fish Li 编辑
通用数据访问层及Ajax服务端框架的综合示例,展示与下载
摘要:注意:本文所介绍的框架已有新版本,点击后面链接即可阅读。【写自己的ASP.NET MVC框架】本文将专门介绍:我的通用数据访问层及 Ajax服务端框架的综合示例,同时也是为了让大家能对这二个组件有更多的了解。因此,本文将以界面截图以及部分代码展示的方式来说明,这样可能会有更感性的认识它。这个演示网站的特点:1. 数据访问全使用了我的通用数据访问层 + 存储过程的实现。2. 页面使用了大量的Ajax技术,没有任何的直接提交或回传(Submit Form or postback),分页,查询,对话框,都以Ajax的方式实现。3. 所有Ajax技术的客户端全部基于JQuery,服务端则使用我的Aja 阅读全文
posted @ 2011-05-02 13:54 Fish Li 编辑
发一款数据库的辅助工具:My-SqlViewer
摘要:今天发一个我自己写的且经常使用的数据库的辅助工具:My-SqlViewer 由于我比较喜欢使用存储过程,但发现不管是SQL Server Management Studio Express还是MySql的各类乱七八糟工具,在日常开发中,总会发现有些地方在使用时不够方便,甚至缺少某些功能,于是才有这个工具的出现。本工具的定位是:1. 辅助工具--所以功能有限,但要将有限的功能做得尽量好。2. 支持SqlServer与MySqlMy-SqlViewer 使用说明本程序是为程序员而设计的辅助工具,因此假设运行的操作系统环境中已安装有所需要的各种必需组件,而没有随本程序的安装包一起提供。本程序需要以下 阅读全文
posted @ 2011-04-07 19:19 Fish Li 阅读(15268) 评论(51) 推荐(35) 编辑
晒晒我的通用数据访问层
摘要:注意:本文所介绍的框架已有新版本,点击后面链接即可阅读。【ClownFish:比手写代码还快的通用数据访问层】今天来晒晒我的通用数据访问层。写了很多年的数据库项目,数据访问嘛,一直是用业务实体+存储过程的方式,因此经常会写很多调用存储过程的代码。这些代码用Ado.net如何写,我想大家应该都知道:创建Connection, 创建Command, 给命令参数一个一个赋值,然后调用,调用完成后,如果有输出参数,则要读出来,如果有结果集,则要将结果集转换成自己的实体列表,这个过程也是非常机械化的。总之,调用任何存储过程都需要这样一堆类似的代码。我是个喜欢最求完美的人,自然不喜欢每个项目都有这样一堆机 阅读全文
posted @ 2011-03-28 21:18 Fish Li 编辑