動態(tài)連接ERP數(shù)據(jù)庫的前提條件(以用友ERP產(chǎn)品U860的后臺業(yè)務數(shù)據(jù)庫為實際開發(fā)對象):ERP產(chǎn)品安裝正確,SQL Server數(shù)據(jù)庫能夠正常啟動。
1.動態(tài)連接函數(shù)的設計
在具體設計中,利用Delphi程序開發(fā)工具和SQL Server數(shù)據(jù)庫開發(fā)了相應的動態(tài)連接模塊。考慮到用友ERP產(chǎn)品U860是按照年度賬套結(jié)轉(zhuǎn)的,即在一個財政年度內(nèi)有一個獨立的賬套,上一個財政年度的各類數(shù)據(jù)作為新一個財政年度的期初數(shù)據(jù)處理。相應地,在SQL Serve中;數(shù)據(jù)庫中有一個對應會計年度的數(shù)據(jù)庫,每個會計年度對應一個獨立的數(shù)據(jù)庫。因此,我們在進行六西格瑪項目的分析時,需要對歷史數(shù)據(jù)進行分析,此時需要連接不同的數(shù)據(jù)庫。因此,動態(tài)連接數(shù)據(jù)庫的功能必不可少。
程序運行后,輸入SQL數(shù)據(jù)庫服務器的名稱和要過濾的數(shù)據(jù)庫的名稱,然后記錄在Access的數(shù)據(jù)表中,供后續(xù)程序動態(tài)連接和調(diào)用。這提高了程序的可擴展性和可移植性,并使程序能夠在不同的計算機上運行。
2.數(shù)據(jù)過濾功能的設計
動態(tài)連接到所需數(shù)據(jù)庫后,需要根據(jù)六西格瑪項目開發(fā)的需要,定位不同數(shù)據(jù)表的不同字段記錄。數(shù)據(jù)過濾功能的設計可以簡化搜索的難度。只需輸入要搜索的數(shù)據(jù)表的名稱,就可以查看所有記錄,并自動生成字段選擇項,可以根據(jù)字段的值進行搜索,減少了工作量,直觀地分析了相應的數(shù)據(jù)記錄。
根據(jù)程序界面的提示,輸入數(shù)據(jù)庫中需要操作的相關(guān)表的名稱。首先,所有數(shù)據(jù)記錄集都可以出現(xiàn)。同時,所有的字段名都會根據(jù)右側(cè)的表格自動生成。可以根據(jù)六西格瑪項目需求選擇查詢對應字段,程序會自動定位匹配。
在實現(xiàn)數(shù)據(jù)過濾功能的過程中,定義了兩種方法和一個函數(shù),其中FillFieldNames方法用于自動獲取輸入數(shù)據(jù)表中的字段名稱;FillSearchValues方法用于搜索所選特定字段的所有非重復字段值;GetSearchField函數(shù)用于獲取用戶選擇的字段名。
登錄數(shù)據(jù)庫服務器時,功能設計仍然采用事務管理操作,在動態(tài)分配ADOConnection的String屬性值時,保證了數(shù)據(jù)庫連接的操作完整性。