需求千变万化,我们的应用软件要满足支持多个数据库访问,应对以前的代码封闭不能改动。

  支持多数据库访问组件

 

一  定义数据库基础访问接口

  1 /// <summary>
  2 /// 数据库访问适配器
  3 /// </summary>
  4 public interface IDBAccessProvider
  5 {
  6 
  7     /// <summary>
  8     /// 获取连接状态
  9     /// </summary>
 10     ConnectionState ConnState { get; }
 11     /// <summary>
 12     /// 是否存在一个已经开始的事务
 13     /// </summary>
 14     bool IsExistTrans { get; }
 15 
 16     /// <summary>
 17     /// 打开连接
 18     /// </summary>
 19     void OpenConn();
 20     /// <summary>
 21     /// 关闭连接
 22     /// </summary>
 23     void CloseConn();
 24 
 25     /// <summary>
 26     /// 开始事务
 27     /// </summary>
 28     void BeginTrans();
 29     /// <summary>
 30     /// 提交事务
 31     /// </summary>
 32     void CommitTrans();
 33     /// <summary>
 34     /// 回滚事务
 35     /// </summary>
 36     void RollbackTrans();
 37 
 38     /// <summary>
 39     /// 创建一个命令参数
 40     /// </summary>
 41     /// <param name="name">参数名称</param>
 42     /// <param name="value">参数值</param>
 43     /// <param name="dbType">参数类型</param>
 44     /// <param name="direction">参数方向</param>
 45     /// <returns>参数对象</returns>
 46     IDbDataParameter CreateParameter(string name, object value, DbType dbType, ParameterDirection direction);
 47     /// <summary>
 48     /// 创建一个命令参数
 49     /// </summary>
 50     /// <param name="name">参数名称</param>
 51     /// <param name="value">参数值</param>
 52     /// <param name="dbType">参数类型</param>
 53     /// <returns>参数对象</returns>
 54     IDbDataParameter CreateParameter(string name, object value, DbType dbType);
 55     /// <summary>
 56     /// 创建一个命令参数
 57     /// </summary>
 58     /// <param name="name">参数名称</param>
 59     /// <param name="value">参数值</param>
 60     /// <returns>参数对象</returns>
 61     IDbDataParameter CreateParameter(string name, object value);
 62 
 63     /// <summary>
 64     /// 执行一条Sql命令
 65     /// </summary>
 66     /// <param name="sqlText">sql命令文本</param>
 67     /// <param name="parames">参数表</param>
 68     /// <param name="commandType">命令类型</param>
 69     void ExecuteNonQuery(string sqlText, List<IDbDataParameter> parames, CommandType commandType);
 70     /// <summary>
 71     /// 执行一条Sql命令
 72     /// </summary>
 73     /// <param name="sqlText">sql命令文本</param>
 74     /// <param name="parames">参数表</param>
 75     void ExecuteNonQuery(string sqlText, List<IDbDataParameter> parames);
 76     /// <summary>
 77     /// 执行一条Sql命令
 78     /// </summary>
 79     /// <param name="sqlText">sql命令文本</param>
 80     void ExecuteNonQuery(string sqlText);
 81 
 82     /// <summary>
 83     /// 执行一条查询Sql命令,返回一个DataReader
 84     /// </summary>
 85     /// <param name="sqlText">sql命令文本</param>
 86     /// <param name="parames">参数表</param>
 87     /// <param name="commandType">命令类型</param>
 88     /// <param name="behavior"></param>
 89     /// <returns></returns>
 90     IDataReader ExecuteReader(string sqlText, List<IDbDataParameter> parames, CommandType commandType, CommandBehavior behavior);
 91     /// <summary>
 92     /// 执行一条查询Sql命令,返回一个DataReader
 93     /// </summary>
 94     /// <param name="sqlText">sql命令文本</param>
 95     /// <param name="parames">参数表</param>
 96     /// <param name="commandType">命令类型</param>
 97     /// <returns></returns>
 98     IDataReader ExecuteReader(string sqlText, List<IDbDataParameter> parames, CommandType commandType);
 99     /// <summary>
100     /// 执行一条查询Sql命令,返回一个DataReader
101     /// </summary>
102     /// <param name="sqlText">sql命令文本</param>
103     /// <param name="parames">参数表</param>
104     /// <returns></returns>
105     IDataReader ExecuteReader(string sqlText, List<IDbDataParameter> parames);
106     /// <summary>
107     /// 执行一条查询Sql命令,返回一个DataReader
108     /// </summary>
109     /// <param name="sqlText">sql命令文本</param>
110     /// <returns></returns>
111     IDataReader ExecuteReader(string sqlText);
112 
113     /// <summary>
114     /// 执行一条查询Sql命令,返回一个结果集的第一行第一列的值
115     /// </summary>
116     /// <param name="sqlText">sql命令文本</param>
117     /// <param name="parames">参数表</param>
118     /// <param name="commandType">命令类型</param>
119     /// <returns></returns>
120     object ExecuteScalar(string sqlText, List<IDbDataParameter> parames, CommandType commandType);
121     /// <summary>
122     /// 执行一条查询Sql命令,返回一个结果集的第一行第一列的值
123     /// </summary>
124     /// <param name="sqlText">sql命令文本</param>
125     /// <param name="parames">参数表</param>
126     /// <returns></returns>
127     object ExecuteScalar(string sqlText, List<IDbDataParameter> parames);
128     /// <summary>
129     /// 执行一条查询Sql命令,返回一个结果集的第一行第一列的值
130     /// </summary>
131     /// <param name="sqlText">sql命令文本</param>
132     /// <returns></returns>
133     object ExecuteScalar(string sqlText);
134 }
View Code

相关文章:

  • 2022-02-21
  • 2021-12-13
  • 2022-12-23
  • 2018-09-01
  • 2021-06-10
  • 2022-12-23
  • 2021-08-10
猜你喜欢
  • 2022-12-23
  • 2021-05-21
  • 2022-12-23
  • 2022-12-23
  • 2021-06-09
  • 2021-11-18
  • 2022-02-13
相关资源
相似解决方案