• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    VFP二維數(shù)組在異構(gòu)表數(shù)據(jù)復(fù)制中的應(yīng)用

    2012-10-18 02:52:48王亞軍王傳安宋雪亞賀文娟
    關(guān)鍵詞:數(shù)組字段數(shù)據(jù)表

    王亞軍,王傳安,宋雪亞,賀文娟

    (安徽科技學(xué)院 計(jì)算機(jī)公共教學(xué)部,安徽 鳳陽 233100)

    VFP二維數(shù)組在異構(gòu)表數(shù)據(jù)復(fù)制中的應(yīng)用

    王亞軍,王傳安,宋雪亞,賀文娟

    (安徽科技學(xué)院 計(jì)算機(jī)公共教學(xué)部,安徽 鳳陽 233100)

    數(shù)組在VFP數(shù)據(jù)表之間進(jìn)行信息傳遞有著廣泛的應(yīng)用,數(shù)組和數(shù)據(jù)表之間可實(shí)現(xiàn)數(shù)據(jù)橫向傳遞,這給結(jié)構(gòu)相同或相近的表之間進(jìn)行數(shù)據(jù)的復(fù)制提供了極大的方便.然而,通過二維數(shù)組在兩個(gè)異構(gòu)表中進(jìn)行數(shù)據(jù)的復(fù)制無法直接實(shí)現(xiàn),為了解決異構(gòu)表之間的數(shù)據(jù)傳遞的問題,文章通過對(duì)異構(gòu)表之間數(shù)據(jù)傳遞關(guān)系的分析,提出了一種利用兩個(gè)二維數(shù)組迂回比較來解決異構(gòu)表之間數(shù)據(jù)傳輸?shù)姆椒ǎM麨橛脩籼幚眍愃茊栴}提供幫助和參考.

    VFP;異構(gòu)表;二維數(shù)組;數(shù)據(jù)復(fù)制

    1 引言

    在VFP中,數(shù)組就是變量名相同而下標(biāo)不同的一組變量,它由一系列元素組成,每個(gè)數(shù)組元素可通過數(shù)組名及相應(yīng)的下標(biāo)來訪問[1].數(shù)組在VFP中有著廣泛的應(yīng)用,例如用它來存儲(chǔ)和顯示數(shù)據(jù)表的記錄、快速定義變量等場合[2].數(shù)組的引入,不僅可以大大提高運(yùn)算速度,而且使許多復(fù)雜的編程問題變得非常簡單,且比較方便靈活.VFP支持一維和二維數(shù)組,允許數(shù)組元素具有不同的數(shù)據(jù)類型[3].

    2 二維數(shù)組和數(shù)據(jù)表字段相互賦值存在的問題

    數(shù)組和數(shù)據(jù)表之間可相互傳遞,即數(shù)據(jù)表中數(shù)據(jù)可以傳遞給數(shù)組,反過來,數(shù)組中的數(shù)據(jù)也可以添加到數(shù)據(jù)表中.二維數(shù)組與數(shù)據(jù)表記錄之間的數(shù)據(jù)交換可以通過COPY TO ARRAY和APPEND FROM ARRAY命令來完成[4],其中COPY TO ARRAY命令用于將當(dāng)前表的若干條記錄復(fù)制到指定的二維數(shù)組中,APPEND FROM ARRAY則實(shí)現(xiàn)把二維數(shù)組中的值添加的數(shù)據(jù)表的末尾[5].用APPEND FROM ARRAY命令把數(shù)組元素中的值添加到數(shù)據(jù)表的末尾時(shí),只能實(shí)現(xiàn)橫向添加,若要實(shí)現(xiàn)把二維數(shù)組某列元素的值添加到數(shù)據(jù)表某行的多個(gè)字段中,還沒有現(xiàn)成的方法,要實(shí)現(xiàn)這樣的功能還必須得借助二維數(shù)組在兩個(gè)表之間進(jìn)行迂回方可實(shí)現(xiàn).下面就通過一個(gè)例子來說明:

    有一個(gè)數(shù)據(jù)表student(姓名C(9),學(xué)院C(20),寄發(fā)單位地C(4)),如圖1所示,現(xiàn)在要求把student表中學(xué)院和寄發(fā)單位地相同的記錄以每行3人填充到qq表中.qq表中的數(shù)據(jù)如圖2所示.可以看出,用COPY TO ARRAY和APPEND FROM ARRAY命令則無法實(shí)現(xiàn)這兩個(gè)異構(gòu)表之間的數(shù)據(jù)傳遞.若要實(shí)現(xiàn)要求的功能,總體思路是:首先必須按學(xué)院和寄發(fā)單位進(jìn)行排序,把學(xué)院和寄發(fā)單位地相同的記錄排列在一起;其次,把排序后的記錄復(fù)制到兩個(gè)二維數(shù)組中;然后,通過比較數(shù)組元素中各個(gè)記錄的學(xué)院和寄發(fā)單位地的值,把姓名字段的值賦給其中的一個(gè)數(shù)組的部分元素;最后,把數(shù)組中處理好的數(shù)據(jù)添加到qq表中.

    3 程序算法

    根據(jù)上述的總體思路,問題的解決應(yīng)采用如下詳細(xì)步驟來處理:

    (1)修改student表的結(jié)構(gòu),把該表的姓名字段名稱改名為姓名1,添加兩個(gè)和姓名1字段具有相同寬度和類型的字段“姓名2”和“姓名3”.修改后的student表如圖3所示.

    (2)對(duì)student表按“學(xué)院”和“寄發(fā)單位地”兩個(gè)字段的升序排序生成新表www,用copy to array命令把www表中的所有記錄分別復(fù)制到數(shù)組aa和uu中臨時(shí)存儲(chǔ)起來.其中數(shù)組aa用來保存最終處理的結(jié)果,數(shù)據(jù)處理完畢,還要把數(shù)組aa中的值添加到qq表中.

    (3)清空數(shù)組aa中每一行前三列元素的值,即每一條記錄的姓名1,姓名2,姓名3的值都為空.

    (4)復(fù)制www表的結(jié)構(gòu)到qq表,刪除www.dbf文件,打開qq表.

    (5)把學(xué)院和寄發(fā)單位地相同的記錄的姓名1字段的值賦給數(shù)組aa的每一行的前三個(gè)元素:從數(shù)組uu的第i行(i=1)開始,依次用第4列和第5列的值分別與后繼的各行(第j行,j=2)的第4列和第5列的值進(jìn)行比較,若發(fā)現(xiàn)兩行的第4列和第5列相等,則把第j行第1列中的值依次賦給數(shù)組 aa(i,k),(其中 k=1,2,3),k>3 時(shí),i的值增加 1,k 的值變?yōu)?;反之,則讓j的值賦給i,再重復(fù)上述的比較工作.

    圖1 student表及其中的數(shù)據(jù)

    圖2 qq表及其中的數(shù)據(jù)

    圖3 修改結(jié)構(gòu)后的student表

    (6)把數(shù)組aa中的各行元素的值用append from array命令添加到數(shù)據(jù)表qq中,然后刪除數(shù)組aa、uu及qq表中姓名1,姓名2,姓名3都為空的記錄.

    具體的源程序如下:

    4 結(jié)束語

    文章從分析二維數(shù)組和數(shù)據(jù)表之間數(shù)據(jù)傳遞的特點(diǎn)出發(fā),發(fā)現(xiàn)二維在處理異構(gòu)表之間數(shù)據(jù)的傳遞時(shí)沒有直接的方法.為解決異構(gòu)表之間數(shù)據(jù)的快速復(fù)制的難題,本人通過尋找兩個(gè)異構(gòu)表表結(jié)構(gòu)之間的關(guān)系,用二維數(shù)組迂回比較的方法,實(shí)現(xiàn)了把一個(gè)表中多條記錄的某個(gè)字段的值復(fù)制到另一個(gè)表的多個(gè)字段,從而為處理類似問題提供了方便和參考.

    〔1〕李雁翎.VisualFoxPro應(yīng)用基礎(chǔ)與面向?qū)ο蟪绦蛟O(shè)計(jì)教程[M].北京:高等教育出版社,2008.

    〔2〕王志強(qiáng).定義和使用Visual FoxPro數(shù)組應(yīng)注意的幾個(gè)問題.甘肅科技縱橫,2010(1):31-32.

    〔3〕翁正科.VisualFoxPro6.0 數(shù)據(jù)庫開發(fā)教程[M].北京:清華大學(xué)出版社,2000.

    〔4〕郝鋒.Visual FoxPro 6.0/7.0 命令函數(shù)大全[M].北京:電子工業(yè)出版社,2002.

    〔5〕李作主.巧用數(shù)組實(shí)現(xiàn)多表數(shù)據(jù)的更新[J].科技信息(學(xué)術(shù)研究),2008(36):111.

    TP392

    A

    1673-260X(2012)11-0030-02

    安徽科技學(xué)院教研課題(X201014)

    猜你喜歡
    數(shù)組字段數(shù)據(jù)表
    圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
    JAVA稀疏矩陣算法
    JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
    湖北省新冠肺炎疫情數(shù)據(jù)表
    黨員生活(2020年2期)2020-04-17 09:56:30
    基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
    尋找勾股數(shù)組的歷程
    CNMARC304字段和314字段責(zé)任附注方式解析
    圖表
    無正題名文獻(xiàn)著錄方法評(píng)述
    基于VSL的動(dòng)態(tài)數(shù)據(jù)表應(yīng)用研究
    河南科技(2014年24期)2014-02-27 14:19:25
    寻甸| 太原市| 南丹县| 乐东| 巴林右旗| 北票市| 开封县| 阳江市| 玉树县| 南乐县| 新竹市| 栾城县| 大悟县| 辽源市| 岑溪市| 新昌县| 红安县| 新营市| 通州市| 寿阳县| 红河县| 太仓市| 宿州市| 吴旗县| 盱眙县| 建始县| 清原| 龙川县| 濮阳县| 那曲县| 津南区| 库伦旗| 安陆市| 得荣县| 昂仁县| 巴东县| 庆元县| 朝阳县| 乌兰察布市| 广元市| 马关县|