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

ASP.NET 資料存取層設計:多資料庫支援的 IDBHelper 介面

     編輯:關於ASP.NET

設計動機

避免重複撰寫 Connection、Command 等 ADO.NET 固定模式程式碼,統一不同資料庫(SQL Server、Oracle、OleDb/Access/MySQL)的存取介面。

核心介面:IDBHelper

public interface IDBHelper {
    DataTable ExecuteReader(string connStr, CommandType type, string sql);
    int ExecuteNonQuery(string connStr, CommandType type, string sql);
    object ExecuteScalar(string connStr, CommandType type, string sql);
    void AddParameter(params SQLParam[] sqlParams);
    void ResetParameter();
}

關鍵設計決策

  • 回傳 DataTable 而非 DataReader:ExecuteReader 內部自動開啟/關閉連線,填充 DataTable 後即斷開,符合「盡晚開啟、盡早關閉」原則,避免連線洩漏。
  • 參數管理:透過 AddParameter / ResetParameter 統一處理參數集合,支援多資料庫參數語法差異(@param, :param, ?)。
  • 三種資料庫實作:分別實作 SqlServerHelper、OracleHelper、OleDbHelper,依配置動態建立具體型別(工廠模式)。

擴充建議

  • 加入非同步方法 (ExecuteReaderAsync 等)。
  • 整合 Dapper 或 Entity Framework Core 兼容層。
  • 加入連線重試、記錄、效能監控切面。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved