版本: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 中