Enterprise Library方式-依設定返回指定的Database
在摳叮幫幫忙中,我需要操作
1.SQL
2.摳叮幫幫忙要用的系統參數,放在CA_CODE.mdb
3. 使用者可自行增減管理的CODE.mdb
所以在baseDB.cs中 我需要依設定返回指定的Database ,雖然一樣是ACCESS,但是有兩個檔案 @@
我的做法如下
// 動態指定連線字串
//DB_Type 可指定 SQL,ACCESS,CA_ACCESS ,也就是第二個ACCESS檔,兩個MDB的PATH不同
// path 在設定APP.COPNFIG 中設定
protected Database Get_GenericDatabase( string DB_Type )
{
switch (DB_Type)
{
case "SQL":
if (ConnectionString == "") return null;
GenericDatabase db = new GenericDatabase(ConnectionString, System.Data.SqlClient.SqlClientFactory.Instance);
return db;
case "ACCESS":
if (ACCSCC_ConnectionString == "") return null;
GenericDatabase db2 = new GenericDatabase(ACCSCC_ConnectionString, System.Data.OleDb.OleDbFactory.Instance);
return db2;
case "CA_ACCESS":
if (CA_ACCSCC_ConnectionString == "") return null;
GenericDatabase db4 = new GenericDatabase(CA_ACCSCC_ConnectionString, System.Data.OleDb.OleDbFactory.Instance);
return db4;
default: //default SQL
if (ConnectionString == "") return null;
GenericDatabase db3 = new GenericDatabase(ConnectionString, System.Data.SqlClient.SqlClientFactory.Instance);
return db3;
}
用法:
DB_BaseFunction 繼承baseDB
DB_BaseFunction的建構式中設定,new DB_BaseFunction 物件時,
必須告知,此次要存取的是什麼db,跟連線字串,ACCESS連線字串也是在app.config中設定就可以了
PS( 每次要處理的連線字串都不一樣,所以要每次傳...幫幫忙的資料庫精靈可以任意設連線...XD )
public DB_BaseFunction(string DB_Type ,string connstr)
好處:
處理任意SQL連線與兩個ACCES檔案, 資料存取的FUNCTION 卻只需要一份共用共用的
等日後有不同的資料庫連線,再去寫多型 及 修正 Get_GenericDatabase 吧 XD