在做开发的时候,经常需要访问数据库的,每次重复的编写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类,可以及时断开与数据库的连接,符合尽晚打开尽早关闭的原则。代码很简单,我就不多说了,下面提供项目的源码下载。
|
请发表评论