1.
首先我们先来定义数据库的类型
using
System;
namespace
UserLib.Database
{
///<summary>
///
数据库类型
///</summary>
public enum DatabaseType
{
OleDb, //OleDb
数据库
SqlServer, //SqlServer
数据库
Odbc, //Odbc
数据库
}
}
2.
接着我们定义一个数据库访问的接口,提供通用的访问方法
using
System;
using
System.Data;
using
System.Data.Common;
namespace
UserLib.Database
{
///<summary>
///
数据库通用接口
///</summary>
public interface IDatabase
{
///<summary>
///
打开数据库
///</summary>
///<param name="connString">
连接字符串
</param>
void Open(string connString);
///<summary>
///
关闭数据库
///</summary>
void Close();
///<summary>
///
数据集
///</summary>
DataSet DataSetDB { get;}
///<summary>
///
数据连接
///</summary>
DbConnection ConnectionDB { get;}
///<summary>
///
获取数据库类型
///</summary>
///<returns>
数据库类型
</returns>
DatabaseType GetDatabaseType();
///<summary>
///
执行SQL语句
///</summary>
///<param name="sql">SQL
语句
</param>
///<returns>
影响行数
</returns>
int ExecuteSQL(string sql);
///<summary>
///
执行SQL语句
///</summary>
///<param name="cmd">
数据命令
</param>
///<returns>
影响行数
</returns>
int ExecuteSQL(DbCommand cmd);
///<summary>
///
执行SQL语句
///</summary>
///<param name="sql">SQL
语句
</param>
///<returns>
第一行第一列值
</returns>
object ExecuteSQLReturn(string sql);
///<summary>
///
执行SQL语句
///</summary>
///<param name="cmd">
数据命令
</param>
///<returns>
第一行第一列值
</returns>
object ExecuteSQLReturn(DbCommand cmd);
///<summary>
///
返回DataReader对象
///</summary>
///<param name="sql">SQL
语句
</param>
///<returns>DataReader
对象
</returns>
DbDataReader ReturnDataReader(string sql);
///<summary>
///
返回DataReader对象
///</summary>
///<param name="cmd">
查询命令
</param>
///<returns>DataReader
对象
</returns>
DbDataReader ReturnDataReader(DbCommand cmd);
///<summary>
///
在数据集中加入有SQL语句生成的表
///</summary>
///<param name="sql">SQL
语句
</param>
///<param name="tbName">
表名称
</param>
///<returns>
数据集
</returns>
DataSet AddTable(string sql, string tbName);
///<summary>
///
在数据集中加入有SQL语句生成的表
///</summary>
///<param name="cmdSelect">
查询命令
</param>
///<param name="tbName">
表名称
</param>
///<returns>
数据集
</returns>
DataSet AddTable(DbCommand cmdSelect, string tbName);
///<summary>
///
在数据集中加入有SQL语句生成的表
///</summary>
///<param name="sql">SQL
语句
</param>
///<param name="tbName">
表名称
</param>
///<param name="da">
导出数据适配器
</param>
///<returns>
数据集
</returns>
DataSet AddTable(string sql, string tbName, out DbDataAdapter da);
///<summary>
///
在数据集中加入有SQL语句生成的表
///</summary>
///<param name="cmdSelect">
查询命令