<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data"/>type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data"/>type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data"/> </configSections> <connectionStrings> <add name="DataAccess" providerName="System.Data.OleDb" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:我的應用程序數據字典SqlDictionaryWHC.Dictionary.UIinDebugOrderWater.mdb;User ID=Admin;Jet OLEDB:Database Password=;" /> <add name="DataAccess2" providerName="System.Data.SqlClient" connectionString="Persist Security Info=False;Data Source=(local);Initial Catalog=Warehouse;User ID=sa;Password=123456"/>connectionString="Persist Security Info=False;Data Source=(local);Initial Catalog=Warehouse;User ID=sa;Password=123456"/>connectionString="Persist Security Info=False;Data Source=(local);Initial Catalog=Warehouse;User ID=sa;Password=123456"/> </connectionStrings> <dataConfiguration defaultDatabase="DataAccess"/> <appSettings> <!--軟件名稱--> <add key="ApplicationName" value="深田之星倉庫管理系統"/> <!--開發商名稱--> <add key="Manufacturer" value="廣州愛啟迪技術有限公司"/> <!--數據字典的數據庫類型:access、sqlserver等--> <add key="ComponentDbType" value="access"/> </appSettings> </configuration> |
我們通過DictionaryDbType來切換不同的數據庫,不用修改代碼實現多數據庫支持,當然,不同的數據庫,需要創建不同的數據庫文件,不過數據庫結構基本上是一致的。
我們看看該字典管理模塊的最終效果,如下所示:

字典數據模塊做成獨立的程序后,一個可以獨立運行,也可以在宿主程序中通過DLL方式調用類庫來獲取字典數據,如下所示:
private void InitDictItem() { this.txtManufacture.Items.Clear(); this.txtManufacture.Items.AddRange(DictItemUtil.GetDictByDictType("供貨商")); this.txtBigType.Items.Clear(); this.txtBigType.Items.AddRange(DictItemUtil.GetDictByDictType("備件屬類")); this.txtItemType.Items.Clear(); this.txtItemType.Items.AddRange(DictItemUtil.GetDictByDictType("備件類別")); this.txtSource.Items.Clear(); this.txtSource.Items.AddRange(DictItemUtil.GetDictByDictType("來源")); this.txtWareHouse.Items.Clear(); this.txtWareHouse.Items.AddRange(DictItemUtil.GetAllWareHouse().ToArray()); this.txtDept.Items.Clear(); this.txtDept.Items.AddRange(DictItemUtil.GetDictByDictType("部門")); } |
字典組件模塊調用例子Demo程序下載地址也一并提供下載,下載地址如下:
http://files.cnblogs.com/wuhuacong/DictionaryDemo.rar