Jason Heck's blog

爱好折腾电脑、幻想、探索未知事物,对挨踢业和网络安全方面十分感兴趣,横向发展,广而不精。作息时间不定,上线时间诡异,QQ常年隐身,偶尔上线,开源产品的支持者,珍爱生命,远离微软,病毒爱好者和Web前端爱好者。虚拟主机评测http://www.idcpw.com

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在做开发的时候,经常需要访问数据库的,每次重复的编写Connection,Command等语句实在是件令人厌烦的事情,大家应该都有过这样的经历吧。现在我把自己设计的数据库操作层与大家分享一下,互相交流学习。我个人比较喜欢把自己的设计方法,设计思想写出来,互相共享和交流,取长补短,才能更加的完善自己的设计。
  在.NET中,数据库分为三种类型。真的是分为三种数据库类型吗?我是猜的,根据.NET提供的数据库操作类猜的,如果不是,就当我没说吧。

  第一种类型是微软默认的数据库类型SQLServer。

  第二种类型是Oracle。

  第三种类型是OleDb,如Access,MySQL等等。当然,它也支持SQLServer和Oracle,只是没有那么好。

  我的设计很简单,因为有三种不同类型的数据库,所以定义一个接口IDBHelper:

IDBHelper.cs

using System;
using System.Text;
using System.Data;

namespace Pride.DBHelper
{
/// <summary>
/// 作者:aden

/// 时间:2008年9月5日
/// 名称:数据库操作层接口
/// </summary>
public interface IDBHelper
{
DataTable ExecuteReader(string connectionString, CommandType cmdType, string cmdText);
int ExecuteNoneQuery(string connectionString, CommandType cmdType, string cmdText);
object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText);
/// <summary>
/// 添加SQL语句的参数
/// </summary>
/// <param name="sqlParams">
/// SQLParam是一个类,用来保存参数是名和傎
/// </param>
void AddParameter(params SQLParam[] sqlParams);
/// <summary>
/// 清空参数变量列表
/// </summary>
void ResetParameter();
}
}
方法的名字是根据Command类的三个操作方法来命名,作用也和它们差不多。ExecuteReader方法返回的是DataTable类,可以及时断开与数据库的连接,符合尽晚打开尽早关闭的原则。代码很简单,我就不多说了,下面提供项目的源码下载。

posted on 2008-10-25 09:58  Heck  阅读(218)  评论(0编辑  收藏  举报
关于我们 | 石器时代| 主机评测 | IDC评测 | IDC投诉 | IDC大全 | 广告服务 | 友情链接 | Heck's Blog
Copyright © 2010 - 2012 石器时代旗下网站 All Rights Reserved 石器时代工作室
联系电话:0755-84256821 服务QQ:想我就吻我想我就吻我 邮箱:Heck@hecks.tk
石器时代技术团队专注开源产品研究,您人生道路上真诚的朋友!感谢www.Hecks.tk 提供相关链接。