版本:ZapLib v2.4.5
新增了 SQL class 中的一個新方法 SQLDBReplace(),這個方法會在呼叫 QuickQuery, QuickExec ... 等執行語法的方法中自動執行,無需自行呼叫。
只需要在 Web.config 或 App.config 中進行設定,此方法就會檢查傳入的 SQL 語法是否包含 {DB Name}.dbo 的 pattern (格式),
如果存在的話就會取代成指定的 DB Name 後再傳入 SQL Server 執行,詳情請參閱以下說明:
請在 Web.config 或 App.config 先指定 SQLDBReplace 為 true,此功能才會啟用
<configuration>
<appSettings>
<add key="SQLDBReplace" value="true"/>
</appSettings>
</configuration>請在 Web.config 或 App.config 指定 key SQLDBReplace:{DB Name} 表示要取代的資料庫名稱,然後指定 value 表示要取代成甚麼 DB Name 資料庫名稱
| 原本的 DB Name | 取代成新的 DB Name |
|---|---|
| KB52 | CSKS_KM_KB52 |
| KBH52 | CSKS_KM_KBH52 |
<configuration>
<appSettings>
<add key="SQLDBReplace" value="true"/>
<add key="SQLDBReplace:KB52" value="CSKS_KM_KB52"/>
<add key="SQLDBReplace:KBH52" value="CSKS_KM_KBH52"/>
</appSettings>
</configuration>所有 SQL 語法無須修改,以下示範設定後會將 SQL 改變的樣子
SQL db = new SQL();
dynamic[] data = db.QuickDynamicQuery("select* from KbH522.[DbO].Aud_Answer, [KbH52].[DbO].Aud_Answer");實際執行語法
select* from KbH522.[DbO].Aud_Answer, CSKS_KM_KBH52.dbo.Aud_Answer
Test Cases
以下 SQL Patterns 均經過測試,如果有疏漏可以通報到 Issue 中