<?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="广州爱启迪技术有限公司"/>
<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