二、記錄的刪除
在FOXBASE中,刪除數據庫中的任意記錄均分兩步進行。第一步用刪除命令DEL。ETE給待刪除的記錄打上刪除標記*,打上刪除標記的那些記錄仍然留在數據庫中,顯示數據庫文件的內容時仍可見到,但不參加排序、索引、複製等操作;第二步則用清除命令PACK,將打上刪除標記的記錄從數據庫中抹去。
1.刪除命令
命令功能:無任選項時,表示給當前記錄打上刪除標記,有任選項表示在指定的記錄範圍內,給所有符合條件的記錄上打上刪除標記。
2.清除命令
命令格式:PACK
命令功能:將帶有刪除標記*的所有記錄從數據庫中抹去。執行PACK命令後,再也無法恢複被刪除的記錄。
三、記錄的修改
1.EDIT命令
命令格式:EDIT[記錄號]
命令功能:對數據庫中記錄號所指定的記錄進行編輯修改,無任選項時,表示修改當前記錄。
用戶可將光標移到待修改處進行修改,修改完後用Ctrl>+W存盤,結束EDIT命令。回到圓點提示符。
2.BROWSE命令
命令格式:BROWSE[FIE12.DS]
命令功能:在瀏覽、翻閱數據庫文件內容的同時,可按用戶需要修改數據。命令中如果有FIE1.DS任選項,則對指定的字段進行顯示和修改;如果缺省該任選項,則顯示修改除記憶型字段以外的其它所有字段。
與EDIT命令不同,BROWSE命令可以對整個數據庫文件進行修改,它一次在屏幕上可顯示許多條記錄供用戶任意挑選修改。如果數據庫文件的記錄和字段很多,屏幕上不可能全部顯示時,使用BROWSE命令可以很方便地對數據進行瀏覽與修改。
屏幕的第一行是當前的記錄號和文件名,當光標下移一個記錄時,當前記錄號隨之加1。用戶可對屏幕上出現的任何記錄、任何字段進行修改,修改完後,按+W存盤或按+Q不存盤,退出BROWSE命令。
3.REP12.ACE命令
EDIT、BROWSE命令都采用全屏幕編輯方式編輯修改數據,REP12。ACE命令不進入全屏幕編輯方式,而是根據命令要求自動地對某些記錄的內容進行替換。
命令功能:成批地、快速地替換修改滿足給定條件的一批記錄。命令中若有和FOR任選項,則替換修改指定範圍內滿足指定條件的記錄;若缺省,則隻替換修改當前記錄。
替換修改的方法是:用WITH後砸表達式的值替換WITH前麵字段的內容,字段不能為M型。
使用REP12.ACE命令對數據庫文件中的全部或部分記錄進行成批修改是非常方便的。
第三節 數據庫的統計與排序
一、數據庫的統計操作
這裏,隻介紹COUNT、SUM及AVERAGE三個命令。
1.統計數據庫的記錄個數
命令格式:COUNT[]EFOR]ETO]
命令功能:統計數據庫文件的記錄個數。命令中任選項指定統計範圍,再由在指定範圍內篩選出具有某種特征的記錄作統計,統計結果存入到指定的內存變量中,若缺省內存變量則不保存統計結果。
2.數據庫數值字段的求和
命令格式:SUM[][][-TO]I-FOR]
命令功能:對數據庫文件的數值型字段縱向求和。
3.算術平均值的計算
二、數據庫數據的排序
排序又稱為分類,即按某一關鍵字來重新排列數據庫中的數據。數據從小到大排列叫做按升序排序;從大到小排列叫做按降序排序。關鍵字是數值型字段,則按數值的大小排序;關鍵字是日期型字段,則按時間順序排序;關鍵字是字符型字段,則按ASCI12碼值大小排序。漢字則按其對應的拚音碼大小排序。邏輯型和記憶型字段不可作關鍵字排序。
命令功能:按某一個字段或幾個字段進行排序,並產生一個新的數據庫文件。新的庫文件中的記錄首先按命令中給出的的順序進行排列,當的數據值相同時的記錄又按的順序進行排列,依此類推。
需特別指出,命令不改變原數據庫文件的內容,而是生成一個新的庫文件,排序後的結果就放在這個新的庫文件中。
庫文件XSQK2中,按性別的升序排列,某些記錄的性別相同,則這些記錄再按出生日期的升序排列。
第四節 多個數據庫間的操作
在實際應用中,涉及到同時不隻使用一個數據庫的數據,而一般情況下,又隻能打開一個數據庫,為了解決這個問題,FOXBASE提供多工作區操作以便予多個數據庫操作。