权限管理、用户权限系统、开源用户权限系统、信息化建设标准基础数据管理平台
代码改变世界

(05)通用的数据访问接口 IDbHelper

2008-06-24 12:33  通用C#系统架构  阅读(4175)  评论(3编辑  收藏  举报
按分工来说,这部分只起把数据从数据库中读取出来,到底用ORM还是用什么传输数据,那是另外一回事情了,
这部分的功能,从分层的角度来讲,只是数据库访问层的一个实用工具而已。
我们大家都希望自己的程序能健壮一些,写一遍后到处都能运行,当然没有太理想的完美万能的通用数据库访问方法吧,
就算有万能的,我还没见到过,嘿嘿。

以前我用OleDb方式访问数据库,这样 Oracle和SqlServer上的写法大致是一致的,将程序移植到另一个数据库系统上
修改的量比较少,但是总感觉不是很爽,有时候希望用Oracle的数据库联接方式、有时候希望是SqlServer的数据库连接。
而且以前有些程序就写成了Oracle连接上,还要把这些程序都移植到新系统里来,总不能让别人翻天覆地的把程序都修改
了,我是没问题,但是别人不同意啊,当然还有性能上的问题等等。

IDbHelper 接口,里面定义了,经常用的数据库调用方法。
1. 获得数据库日期时间
2. 检查参数的安全性
3. Sql参数处理
4. 常用的数据库命令
5. 事务控制
6. 异步调用数据库


欢迎大家提出宝贵的改进意见

  1//------------------------------------------------------------
  2// All Rights Reserved , Copyright (C) 2008 , Jirisoft , Ltd. 
  3//------------------------------------------------------------
  4
  5using System;
  6using System.Data;
  7using System.Data.Common;
  8
  9namespace Jirisoft.Common.DbUtilities
 10{
 11    using Jirisoft.Common;
 12
 13    /// <summary>
 14    /// IBaseDbConnection
 15    /// 数据库访问通用类标准接口。
 16    /// 
 17    /// 修改纪录
 18    /// 
 19    ///        2008.06.03 版本:1.2 JiRiGaLa 增加 DbParameter[] myDbParameters 方法。
 20    ///        2008.05.07 版本:1.1 JiRiGaLa 增加GetWhereString定义。
 21    ///        2008.03.20 版本:1.0 JiRiGaLa 创建标准接口,这次应该算是一次飞跃。
 22    /// 
 23    /// 版本:1.1
 24    /// 
 25    /// <author>
 26    ///        <name>JiRiGaLa</name>
 27    ///        <date>2008.03.20</date>
 28    /// </author> 
 29    /// </summary>

 30    public interface IDbHelper
 31    {
 32        String GetDBNow()
 39
 40        DateTime GetDBDateTime()
 47
 48        bool InTransaction
 59
 60        IDbConnection GetDbConnection()
 67
 68        IDbTransaction GetDbTransaction()
 75
 76        IDbCommand GetDbCommand()
 83
 84
 85        IDbConnection Open()
 92
 93        IDbConnection Open(String connectionString)
101
102        bool TestConn(String dataBaseType, String dataBase, String userName, String password, String workstation, bool trustLink)
115
116        String SqlSafe(String value)
124
125        DbParameter GetParameter(String targetFiled, Object targetValue)
134
135        DbParameter[] GetParameters(String[] targetFileds, Object[] targetValues)
144
145        void AddParameter(IDbCommand myTargetDbCommand, String targetFiled, Object targetValue)
154
155        String GetWhereString(String[] names, ref Object[] values, String relation)
165
166        String GetParameter(String parameter)
174
175        String PlusSign()
182
183
184        IDataReader ExecuteReader(String sqlQuery)
192
193        IDataReader ExecuteReader(String sqlQuery, DbParameter[] myDbParameters);
202
203        IDataReader ExecuteReader(String sqlQuery, String name, Object value)
213
214        IDataReader ExecuteReader(String sqlQuery, String[] names, Object[] values)
224
225        IDataReader ExecuteReader(CommandType myCommandType, String sqlQuery, DbParameter[] myDbParameters)
235
236        IDataReader ExecuteReader(CommandType myCommandType, String sqlQuery, String[] names, Object[] values)
247
248
249        int ExecuteNonQuery(String sqlQuery)
257
258        int ExecuteNonQuery(String sqlQuery, DbParameter[] myDbParameters);
267
268        int ExecuteNonQuery(String sqlQuery, String name, Object value)
279
280        int ExecuteNonQuery(String sqlQuery, String[] names, Object[] values)
290
291        int ExecuteNonQuery(CommandType myCommandType, String sqlQuery, DbParameter[] myDbParameters)
301
302        int ExecuteNonQuery(CommandType myCommandType, String sqlQuery, String[] names, Object[] values)
313
314        int ExecuteNonQuery(IDbTransaction myOleDbTransaction, CommandType myCommandType, String sqlQuery, DbParameter[] myDbParameters)
325
326        int ExecuteNonQuery(IDbTransaction myOleDbTransaction, CommandType myCommandType, String sqlQuery, String[] names, Object[] values)
338
339
340        Object ExecuteScalar(String sqlQuery)
348
349        Object ExecuteScalar(String sqlQuery, DbParameter[] myDbParameters)
358
359        Object ExecuteScalar(String sqlQuery, String name, Object value)
369
370        Object ExecuteScalar(String sqlQuery, String[] names, Object[] values)    
380
381        Object ExecuteScalar(CommandType myCommandType, String sqlQuery, DbParameter[] myDbParameters)    
391
392        Object ExecuteScalar(CommandType myCommandType, String sqlQuery, String[] names, Object[] values)    
403
404        Object ExecuteScalar(IDbTransaction myOleDbTransaction, CommandType myCommandType, String sqlQuery, DbParameter[] myDbParameters)    
415
416        Object ExecuteScalar(IDbTransaction myOleDbTransaction, CommandType myCommandType, String sqlQuery, String[] names, Object[] values)    
428
429
430        DataTable Fill(DataTable myDataTable, String sqlQuery)
439
440        DataTable Fill(DataTable myDataTable, String sqlQuery, DbParameter[] myDbParameters)
450
451        DataTable Fill(DataTable myDataTable, String sqlQuery, String name, Object value)
462
463        DataTable Fill(DataTable myDataTable, String sqlQuery, String[] names, Object[] values)
474
475        DataTable Fill(DataTable myDataTable, CommandType myCommandType, String sqlQuery, DbParameter[] myDbParameters)
486
487        DataTable Fill(DataTable myDataTable, CommandType myCommandType, String sqlQuery, String[] names, Object[] values)
499
500
501        DataSet Fill(DataSet myDataSet, String sqlQuery, String tableName)
511
512        DataSet Fill(DataSet myDataSet, String sqlQuery, String tableName, DbParameter[] myDbParameters)
523
524        DataSet Fill(DataSet myDataSet, String sqlQuery, String tableName, String name, Object value)
536
537        DataSet Fill(DataSet myDataSet, String sqlQuery, String tableName, String[] names, Object[] values)
549
550        DataSet Fill(DataSet myDataSet, CommandType myCommandType, String sqlQuery, String tableName, DbParameter[] myDbParameters)
562
563        DataSet Fill(DataSet myDataSet, CommandType myCommandType, String sqlQuery, String tableName, String[] names, Object[] values)
576
577
578        int ExecuteProcedure(String procedureName)
586
587        int ExecuteProcedure(String procedureName, DbParameter[] myDbParameters)
596
597        int ExecuteProcedure(String procedureName, String name, String value)
607
608        int ExecuteProcedure(String procedureName, String[] names, Object[] values)    
618
619        DataSet ExecuteProcedureForDataSet(DataSet myDataSet, String procedureName, String tableName, DbParameter[] myDbParameters)
630
631        DataSet ExecuteProcedureForDataSet(DataSet myDataSet, String procedureName, String tableName, String[] names, Object[] values)    
643
644
645        IDbTransaction BeginTransaction()
652
653        void CommitTransaction()
659
660        void RollbackTransaction()
666
667        void ExecuteNonQueryAsync(CommandType myCommandType, String sqlQuery, DbParameter[] myDbParameters);
676
677        void ExecuteNonQueryAsync(CommandType myCommandType, String sqlQuery, String[] names, Object[] values)
687
688        void ExecuteProcedureAsync(String procedureName, DbParameter[] myDbParameters)
696
697        void ExecuteProcedureAsync(String procedureName, String[] names, Object[] values)
706
707
708        void Close()
714    }

715}




C# ASP.NET 通用权限设计、通用权限管理、通用权限组件、单点登录、集中式权限管理、统一授权体系、分级管理分级授权


微信扫一扫加好友