解云峰 范小艷 陜西黃河集團(tuán)設(shè)計(jì)研究所
相控陣天線的配相是消除各種機(jī)械加工誤差、各移相器通道及射頻電纜初始相位不一致等誤差的重要手段。在配相過程中,每個通道的相位及幅度值由測試系統(tǒng)采集存儲并最終生成為指定格式的Excel表文件。隨著天線陣面通道數(shù)量的增加,測試生成的數(shù)據(jù)更是成倍增長,因此對測試數(shù)據(jù)的正確快速處理顯得尤為重要。
Visual C++是Microsoft公司開發(fā)的運(yùn)行在Windows平臺上的可視化集成開發(fā)軟件,近年來VS已廣泛地應(yīng)用于工業(yè)控制, 本文采用的是MFC對話框程序框架。
ADO(Active Data Object)是Microsoft數(shù)據(jù)庫應(yīng)用程序開發(fā)的接口,是建立在OLE DB底層技術(shù)之上的高層數(shù)據(jù)庫訪問技術(shù)。本文對Excel和Access的操作均使用ADO對象的方法。
將對Excel數(shù)據(jù)庫的操作代碼封裝到ExcelADOConn類中;對Access數(shù)據(jù)庫的操作代碼封裝到ADOConn類中。在數(shù)據(jù)轉(zhuǎn)移中只需調(diào)用對應(yīng)類中相關(guān)的方法就可以了。
3.2.1 封裝類ADOConn的實(shí)現(xiàn)
在天線控制臺軟件項(xiàng)目中添加新類ADOConn,并為該類編寫代碼。本類封裝了使用ADO操作Access數(shù)據(jù)庫的相關(guān)功能函數(shù)。
初始化數(shù)據(jù)庫函數(shù)OnInitADOConn。
對數(shù)據(jù)庫進(jìn)行操作前應(yīng)先初始化,代碼如下:
3.2.2 封裝類ExcelADOConn的實(shí)現(xiàn)
類ExcelADOConn的功能是實(shí)現(xiàn)對Excel的相關(guān)操作,與Access操作基本相似。不同之處為,在初始化數(shù)據(jù)庫函數(shù)中,建立連接的字符串為: Provider=Microsoft.ACE.OLEDB.12.0; Data Source=%s;Extended Properties='Excel 12.0;HDR=YES;IMEX=1'。
3.2.3 數(shù)據(jù)的導(dǎo)出導(dǎo)入操作
需求的功能為從Excel中讀取數(shù)據(jù),將讀到的數(shù)據(jù)再寫入Access中。在程序中定義了一個數(shù)組,數(shù)組的類型和空間大小由所操作字段的數(shù)據(jù)類型和記錄個數(shù)決定,本文只讀取了X條記錄相位數(shù)據(jù)(整型)。
使用ADO技術(shù)對Excel和Access這兩種數(shù)據(jù)同時進(jìn)行操作過程簡單且容易實(shí)現(xiàn),減小了人工處理大量數(shù)據(jù)的工作量并提高了準(zhǔn)確率。該軟件運(yùn)行平穩(wěn)高效,已應(yīng)用于實(shí)際測試中。
[1]陳可,袁安富.基于MFC與ADO接口的企業(yè)采購管理系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì), 2009,30(8).
[2]趙麗紅等.基于MFC和ADO技術(shù)的電網(wǎng)數(shù)據(jù)庫系統(tǒng)[J].測控技術(shù),2010年第8期.
[3]薛松海等.火箭彈氣動數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息, 2008年第24 卷第12-3 期.