在做开发的时候经常需要访问数据库的每次重复的编写ConnectionCommand等语句实在是件令人厌烦的事情大家应该都有过这样的经历吧现在我把自己设计的数据库操作层与大家分享一下互相交流学习我个人比较喜欢把自己的设计方法设计思想写出来互相共享和交流取长补短才能更加的完善自己的设计
在NET中数据库分为三种类型真的是分为三种数据库类型吗?我是猜的根据NET提供的数据库操作类猜的如果不是就当我没说吧
第一种类型是微软默认的数据库类型SQLServer
第二种类型是Oracle
第三种类型是OleDb如AccessMySQL等等当然它也支持SQLServer和Oracle只是没有那么好
我的设计很简单因为有三种不同类型的数据库所以定义一个接口IDBHelper
IDBHelpercs
using System;
using SystemText;
using SystemData;
namespace PrideDBHelper
{
/// <summary>
/// 作者真的骄傲
/// 时间年月日
/// 名称数据库操作层接口
/// </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类可以及时断开与数据库的连接[next]符合尽晚打开尽早关闭的原则代码很简单我就不多说了下面提供项目的源码下载