果有森,劉 沖
(中國電子技術標準化研究院,北京 100176)
儀器設備是實驗室從事相關科研開發、產品檢測的必備條件,也是實驗室得以迅速發展的物質基礎。近年來,伴隨著研究院的迅速發展,儀器設備迅速增多。目前實驗室擁有具備國際先進水平的各類儀器設備3 600余臺套,種類繁多,其中既包括常規的無線電設備,也包括高端電磁兼容設備;既包括常規的長熱力設備,也包括高端的計量標準設備。儀器設備種類繁多,信息量龐大,傳統的紙質設備管理方案耗時耗力,信息管理不能做到及時、科學,已經不能夠滿足本單位發展的需要,科學有效的設備管理系統的開發迫在眉睫。合理的設備管理系統的引入,能夠提高儀器設備的信息管理工作效率,減少該方面的工作量。
本設計所選用的開發平臺為Visual C++6.0,是由Microsoft公司推出的目前應用極為廣泛的可視化開發工具,利用Visual C++6.0可以開發基于Windows平臺的32位應用程序,依靠強大的編譯器以及網絡與數據庫的開發能力,用Visual C++6.0可以開發與數據庫結合緊密的軟件系統。通過該軟件平臺開發的設備管理系統,能夠提高設備管理效率,為實現設備管理的自動化,提供了便利條件。
設備管理系統的總體任務,是實現實驗室設備信息管理的系統化、規范化和自動化。從功能模塊角度來說,該設備管理系統主要由以下5個部分組成:設備管理登陸部分,系統操作部分,設備瀏覽部分,自定義查找部分和失效查詢部分。
設備管理登陸部分,主要用于設備管理系統的登錄;系統操作部分,主要完成設備管理系統登錄用戶操作;設備瀏覽部分,完成所有設備的瀏覽;自定義查找部分,可以按照不同設備的共有屬性,完成各個項目的自定義查找;失效查詢部分,提供設備的過期報警。
數據庫的選擇,是設備管理系統開發中非常重要的環節。數據欄目和數據結構的設計,是數據庫的重要流程。數據欄目、數據結構合理,對于軟件的開發有推進作用。從本單位實際情況出發,在對儀器設備的信息進行詳細分析的基礎上,可以將儀器設備的屬性,按照其特點,可以分為4類:身份信息,使用維護信息,管理信息,功能信息。
其中,身份信息包括:儀器序號,儀器名稱,型號規格,生產廠家,出廠編號(SN),出廠日期,購買日期,價格,固定資產編號,所屬專業實驗室等;使用維護信息包括:設備狀態,使用頻次,檢定(校準)日期,檢定(校準)單位,檢定(校準)結果等;管理信息包括:儀器類別,所屬部門,保管人,聯系電話等;功能信息包括:主要參數以及范圍等。
數據庫技術是計算機領域中的一門很重要的技術。由于數據庫信息容量大,分類、統計和檢索方便,使用靈活且便于維護,因而得到了廣泛的應用。近年來,數據庫技術發展迅速,使用較多的數據庫管理系統,包括 Microsoft SQL Server、Oracle、Sybase、dBASE、Microsoft FoxPro以及Microsoft Access等。在這些數據庫管理系統中,有的適用于大型數據庫應用系統,有的適用于中小型數據庫應用系統,根據數據庫適用的規模以及功能特點等因素,我們選擇了Microsoft Access數據庫應用系統。
Visual C++擁有強大的數據庫開發程序和集成的開發環境,具備多種數據庫訪問接口。ODBC(開放數據庫互聯)、DAO(數據訪問接口)、OLE DB(對象連接與嵌入數據庫)和ADO(基于組件的數據庫編程接口),都為用戶通過Visual C++應用程序訪問數據庫提供了便利條件。ODBC屬于應用程序編程接口,通過它可以編寫不依賴于DBMS(數據庫管理信息系統)的數據庫應用平臺。ODBC提供各種DBMS相對應的ODBC驅動程序。Visual C++開發的應用程序,通過這些驅動程序,實現對不同數據庫的操作。Visual C++6.0使用ODBC的層次結構如圖1。

圖1 ODBC層次結構圖
MFC的ODBC類主要包括以下幾方面:
(1)CDatabase類。表示應用程序連接到數據源,通過它可以對數據源進行操作,數據源是某個數據庫管理系統(DBMS)的數據實例。
(2)CRecordset類。表示一個記錄集,該類是ODBC中重要且功能最強大的類。記錄集可以分為快照(Snapshot)和動態集(Dynaset)兩種。應用程序可以選擇數據源中某表作為一個記錄集,通過對該類的操作,可以實現記錄的修改、增加、刷新和刪除等操作。
(3)CRecordView類。CRecord View類是CView類的一個子類,內置對CRecordSet的支持,支持記錄的瀏覽、更新等操作。。該類可以通過表單視圖與記錄集直接相連,利用對話框數據交換機制(DDX)實現記錄集與表單視圖的控件的數據傳輸。
總之,CDatabase類負責數據庫負責連接到數據源,CRecordset實現數據源中記錄的操作,CRecord-View類實現界面的開發,通過CFieldExchange實現CRecordset與數據源的數據傳輸。
數據庫應用程序的操作對象是數據源,因此必須首先建立數據源,通過創建Access數據庫,在Windows開始菜單中選擇開始-設置-控制面板,當控制面板出現后,用鼠標雙擊ODBC Data Source(32bit)圖標,如圖2所示的數據源管理器。通過選擇添加,選擇數據源等操作,完成數據庫的注冊。

圖2 數據源管理器
實驗室設備管理系統訪問用戶名以及密碼儲存在Microsoft Access數據庫文件中,由于ODBC定義了一組規范,提供了一組對數據庫訪問的一組標準API,這些API是建立在標準化版本SQL(Strutted Query Language,結構化查詢語言)基礎上的。ODBC位于應用程序與DBMS之間,便于對數據庫的訪問。通過ODBC API編寫代碼,實現數據庫的連接與控制。其主要操作流程為:通過程序實現數據庫中查找,如果用戶輸入的姓名和密碼與數據庫中存儲的信息匹配,則可以進入設備管理系統主界面;系統用戶操作部分,主要實現設備管理系統的用戶操作,可以進行用戶的刪除,用戶增加,用戶信息更改等。
設備瀏覽部分界面如圖3所示,該部分主要實現實驗室全部設備一覽表,實驗室設備信息(儀器序號、儀器名稱、型號規格等等)儲存在Microsoft Access數據庫文件中,與系統用戶操作部分編制原理類似,通過ODBC API實現設備信息的查詢、增加、刪除,還可以實現選定設備的信息修改并更新。

圖3 設備瀏覽
設備管理系統自定義查找與失效查詢部分,主要實現原理是通過SQL語言使用ODBC API接口,實現Microsoft Access數據庫的訪問。SQL(結構化查詢語言)是一種數據庫查詢語言,主要實現關系數據庫系統的查詢、添加、刪除等操作。SQL語言主要由以下幾部分組成:
(1)數據查詢語言(DQL)。數據查詢語言DQL基本結構包括SELECT子句和FROM子句;
(2)數據定義語言(DDL)。包括創建/刪除數據庫、創建/刪除表、定義約束等語句,包括CREATE、ALTER、DROP等語句;
(3)數據操作語言(DML)用于操作數據表,如增加、查詢、修改、刪除等操作。常用操作包括:Insert(插入數據)、Delete(刪除數據)、Select(查詢數據)和Updata(修改數據);
(4)數據控制語言DCL用于授予或回收訪問數據庫特權,控制數據庫操縱事務的時間及效果,對數據庫進行監視等。包括:GRANT、COMMIT、REVOKE、ROLLBACK等語句。
這里查詢部分為例,進行簡要說明,查詢部分代碼如下所示:


本文采用Visual C++6.0作為開發平臺,開發了設備管理系統,解決了目前本單位設備日益增多、設備信息管理復雜的局面,大大提高設備管理效率,為實現設備信息管理自動化提供了便利條件,得到了設備管理人員的好評,對從事設備管理的同行,具備一定的參考借鑒價值。
[1]魏 朗,陳 濤.Visual C++程序設計攻略教程[M].西安:西安電子科技大學出版社,2004.
[2]岳 亮.在VC中利用WORD生成圖文報告[R].北京:電腦編程技巧與維護,2002,(5)43-44.
[3]朱 敏,沈同圣,等.VC++與VBA結合實現復雜報表[J],計算機應用與軟件,2005,(2):42-43.