首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

個人開發框架總結(一):SqlServer、Oracle、OleDb 資料提供者介面實作

     編輯:關於C語言

IDataProvider 介面統一資料庫操作

為支援多資料庫,框架定義 IDataProvider,各資料庫類別(SqlServer、Oracle、OleDb)繼承 DataHelper 並實作此介面,集中建立連線、命令、參數、適配器等物件,避免重複撰寫 CRUD 邏輯。

SqlServer 實作範例

public class SqlServer : DataHelper, IDataProvider
{
    #region IDataProvider 實作
    public IDbConnection GetDbConnection()
    {
        var conn = new SqlConnection(ConnectionString);
        conn.StateChange += new StateChangeEventHandler(base.OnStateChange);
        return conn;
    }

    public IDbDataAdapter GetDataAdapter() => new SqlDataAdapter();

    public IDataParameter GetParameter() => new SqlParameter();

    public IDataParameter[] GetParameters(int Count) => new SqlParameter[Count];

    public IDbCommand GetCommand(IDbCommand command) => command as SqlCommand;

    public void GetCommandBuilder(IDbDataAdapter DataAdapter, DataTable DataTable, DataViewRowState dataViewRowState)
    {
        var adapter = (SqlDataAdapter)DataAdapter;
        new SqlCommandBuilder(adapter);
    }
    #endregion
}

Oracle、OleDb 同理實作對應的 OracleConnection、OleDbConnection 等,上層邏輯完全解耦具體資料庫。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved