国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
易語言數(shù)據(jù)庫應(yīng)用手冊


    易語言的數(shù)據(jù)庫功能大部分基于XBASE 方式,所以您如果曾經(jīng)接觸過 XBASE 數(shù)據(jù)庫系統(tǒng)中的任何一款,如:DBASE、FOXBASE、FOXPRO等等,就能夠相當快地了解并應(yīng)用易語言的數(shù)據(jù)庫。

    所有易語言數(shù)據(jù)庫支持命令的具體解釋請在數(shù)據(jù)庫命令參考手冊中查看,下面介紹一些概念和編程應(yīng)用知識。

一、易語言數(shù)據(jù)庫文件的組成:

.edb

    數(shù)據(jù)庫主文件

.edt

    數(shù)據(jù)庫輔助數(shù)據(jù)文件,僅在數(shù)據(jù)庫中存在備注型或者字節(jié)集型字段時 才存在,文件名稱除了后綴外與數(shù)據(jù)庫主文件相同,它必須與.edb文件放在同一目錄中。

.enx

    數(shù)據(jù)庫索引文件。使用 B+ 樹結(jié)構(gòu),由用戶根據(jù)需要自行創(chuàng)建,用作加快記錄的查找速度。

二、數(shù)據(jù)庫的內(nèi)部結(jié)構(gòu):

    易語言數(shù)據(jù)庫由行和列組成,如下面的數(shù)據(jù)庫內(nèi)容:

    其中每一行被稱為一條記錄,每一列稱為一個字段。如上面的數(shù)據(jù)庫就有四條記錄和四個字段。

    字段具有“名稱”、“類型”、“最大文本長度”三個屬性,有關(guān)介紹如下:

    <1>、名稱: 字段名稱文本的長度必須在 16 個字符以內(nèi);(一個英文字母為一個字符長度,一個中文為兩個字符長度)
    <2>
、類型: 可以為以下常量值之一: 1、#字節(jié)型; 2、#短整數(shù)型; 3、#整數(shù)型; 4、#長整數(shù)型; 5、#小數(shù)型;6、#雙精度小數(shù)型; 7、#邏輯型; 8#日期時間型; 10、#文本型; 11、#字節(jié)集型; 12#備注型;
    <3>
、最大文本長度: 此屬性僅當字段類型為“文本型”時才有效,用作指定文本的最大可能長度,其值范圍必須在 1 1024 之間。如果字段類型不為“文本型”,本屬性無效。當寫入數(shù)據(jù)到數(shù)據(jù)庫中的文本型字段內(nèi)時,多出的部分將被自動剪切。

三、系統(tǒng)中的“數(shù)據(jù)庫”菜單功能:

    您可以使用“數(shù)據(jù)庫”菜單下的“結(jié)構(gòu)編輯器”來創(chuàng)建一個指定結(jié)構(gòu)的數(shù)據(jù)庫或者修改一個已存在數(shù)據(jù)庫的現(xiàn)有結(jié)構(gòu)。然后,使用“記錄編輯器”可以加入或修改初始記錄數(shù)據(jù)。

    值得告訴大家的是:這兩個菜單功能皆通過調(diào)用 dbmanger.exe 文件(由 dbmanger.e 易程序生成)來完成,dbmanger.e 源程序已經(jīng)隨系統(tǒng)一起提供,用戶可以對其進行修改或者擴充,使之更能滿足您的需要。


    下面介紹一些數(shù)據(jù)庫應(yīng)用程序中常用的編程知識,首先下載并查看一下示例工資數(shù)據(jù)庫 工資.edb ,其結(jié)構(gòu)如下:

   

其中的“實發(fā)”字段在本數(shù)據(jù)庫中并沒有被實際使用,僅用作方便對某些命令進行舉例。

一、編程前的準備工作:

強烈推薦:在開始編寫數(shù)據(jù)庫應(yīng)用程序之前,請將程序中所需使用數(shù)據(jù)庫的名稱及其內(nèi)所有字段名設(shè)置為常量,因為常量可以使用系統(tǒng)內(nèi)部的輸入法來很快地輸入。如:上面數(shù)據(jù)庫內(nèi)具有一個名稱為“姓名”的字段,如果此字段名已經(jīng)被設(shè)置為了常量,那么在程序中需要引用它時可以簡單地輸入 #xm , 而如果沒有設(shè)置為常量,您就必須使用Windows 系統(tǒng)的輸入法來一個字一個字地輸入 “姓名” ,這樣豈非太麻煩了嗎?為了讓您能夠快速地加入所有的相關(guān)數(shù)據(jù)庫常量,在“數(shù)據(jù)庫”菜單下有一個“加入數(shù)據(jù)庫常量”功能,使用此功能可以一次性將指定數(shù)據(jù)庫的名稱及其所有字段名加入為常量。下面的講述中假設(shè)您已經(jīng)做了此準備工作。

二、數(shù)據(jù)庫本身的常用操作:

1、創(chuàng)建數(shù)據(jù)庫:

    欲在程序中創(chuàng)建數(shù)據(jù)庫請使用“創(chuàng)建”命令,如欲創(chuàng)建上面的示例工資數(shù)據(jù)庫工資.edb ,可以使用類似以下代碼:

   

2、打開數(shù)據(jù)庫:

    欲打開指定數(shù)據(jù)庫,請使用“打開”命令。可以同時打開多個數(shù)據(jù)庫(其數(shù)目僅受 Windows 操作系統(tǒng)限制)。

    注意易語言的數(shù)據(jù)庫拋棄了XBASE 的工作區(qū)概念,以便可以同時打開更多的數(shù)據(jù)庫。

3、置當前數(shù)據(jù)庫:

    系統(tǒng)內(nèi)部有一個“當前數(shù)據(jù)庫”狀態(tài)值,它被用來指向某一個已被打開的數(shù)據(jù)庫。絕大部分數(shù)據(jù)庫操作命令都針對當前數(shù)據(jù)庫,譬如:記錄指針的移動、字段的讀寫等等。用戶可以使用“置當前庫”命令來改變系統(tǒng)中“當前數(shù)據(jù)庫”狀態(tài)值的指向。如:

4、關(guān)閉數(shù)據(jù)庫:

欲關(guān)閉當前數(shù)據(jù)庫,請使用“關(guān)閉”命令。欲一次性關(guān)閉已打開的所有數(shù)據(jù)庫,請使用“全部關(guān)閉”命令。(如圖)

三、記錄范圍、字段范圍、數(shù)據(jù)庫表達式:

    易語言中很多數(shù)據(jù)庫命令都支持定義記錄范圍和字段范圍,如:“復制記錄”命令能夠?qū)斍皵?shù)據(jù)庫的記錄復制到另外一個數(shù)據(jù)庫文件,其調(diào)用格式的后半部分如下:

    復制記錄 (數(shù)據(jù)庫文件名,記錄條件,字段范圍,…)

    其中,“記錄條件”參數(shù)即用作讓用戶定義記錄范圍,用戶需要使用一個子語句來提供參數(shù)數(shù)據(jù)。如,將示例數(shù)據(jù)庫中所有姓王的員工記錄都拷貝到新數(shù)據(jù)庫工資表.edb 中:

   


   輸入方法:fzjl("工資表",d(#xm)?="")

    其中:讀 (#姓名) ≈ “王” 即是用作定義記錄范圍的子語句,這與XBASE 的格式基本一樣,只不過在 XBASE 中可以直接使用字段名稱,而易語言由于不是解釋型語言,所以使用讀 (xxx替換(其中 xxx 為字段名)。

    假如您只想把示例數(shù)據(jù)庫中的“姓名”和“工資”字段復制過去,就需要使用字段范圍參數(shù):

   

字段范圍參數(shù)一般都為數(shù)據(jù)庫命令的最后一個參數(shù),以便讓用戶通過增加參數(shù)來同時提供多個字段,不過您也可以使用數(shù)組來做同樣的工作:            

  

假如您想把數(shù)據(jù)庫中所有員工的工資都加上 100 元,就需要使用數(shù)據(jù)庫表達式。完成此工作的相關(guān)數(shù)據(jù)庫命令“替換”的調(diào)用格式的后半部分如下:

    替換 (替換范圍,字段名稱或替換數(shù)據(jù),… )

    其每一個“字段名稱或替換數(shù)據(jù)”參數(shù)對應(yīng)“字段名稱”、“替換數(shù)據(jù)”參數(shù)各一個。

    語句如下:

其中,#工資為字段名稱, (#工資) 100即為數(shù)據(jù)庫表達式,用作提供“工資”字段替換數(shù)據(jù)的獲取方法。

可以同時替換多個字段,如:

語句可以同時將“扣除”字段清零。

數(shù)據(jù)庫表達式中也可以同時使用多個字段,如:

語句可以計算出每一個員工的實發(fā)工資。

    還有很多數(shù)據(jù)庫命令使用了數(shù)據(jù)庫表達式,如:

計算最大的實發(fā)工資并跳到其員工記錄:  

根據(jù)實發(fā)工資排序到工資表.edb  

四、當前記錄指針:

    每一個被打開的數(shù)據(jù)庫都有一個“當前記錄指針”狀態(tài)值,它指向數(shù)據(jù)庫中的某一條記錄,用作為一些記錄讀寫命令提供位置指示。如:“讀”、“寫”、“刪除”等等。它除了指向正常的記錄外,還可能具有以下狀態(tài)值之一:

    1、首記錄前。表明當前記錄指針已經(jīng)移動到了數(shù)據(jù)庫首記錄的前面,此時如果執(zhí)行讀寫當前記錄的命令肯定會失敗,因為無法找到對應(yīng)的記錄讀寫位置。使用“首記錄前”命令可以測試到此狀態(tài)值;

    2、尾記錄后。表明當前記錄指針已經(jīng)移動到了數(shù)據(jù)庫最后一條記錄的后面,此時如果執(zhí)行讀寫當前記錄的命令也會失敗。使用“尾記錄后”命令可以測試到此狀態(tài)值;

    使用“取記錄號”命令可以取回當前記錄指針所指向記錄的編號(從 1 開始)。如果為 0 ,表示在首記錄前,如果大于最大記錄編號,表明在尾記錄后。

    “到首記錄”命令可以將當前記錄指針移動到數(shù)據(jù)庫的首記錄上,“到尾記錄”命令可以將當前記錄指針移動到數(shù)據(jù)庫的最后一條記錄上?!疤^”命令可以相對移動當前記錄指針值。

    通過移動當前記錄指針,我們可以遍歷數(shù)據(jù)庫中的所有記錄:

    反向遍歷:

五、讀寫字段:

    記錄字段的讀寫均在當前數(shù)據(jù)庫的當前記錄處進行,主要為以下命令:

1、“讀”。如: 

   可以返回當前記錄處員工的姓名;
    2
、“寫”。如: 
  
可以將當前記錄處員工的姓名改為“張三”;
    3
、“讀字段”和“寫字段”可以讀寫非當前數(shù)據(jù)庫內(nèi)的記錄字段;
    4
、“修改”命令可以一次性修改當前記錄的多個字段。如:  

  語句可以將當前記錄的員工姓名改變?yōu)椤巴跷濉?,工資改為 2000 ,扣除改為 100 。

六、添加記錄:

    使用“加空記錄”命令可以在當前數(shù)據(jù)庫的尾部添加一條新的空記錄。

使用“加記錄”命令可以同時提供欲添加數(shù)據(jù)。如:  

 語句可以在當前數(shù)據(jù)庫的尾部添加一條名為“王五”,工資為 2000 ,扣除為 0 的新員工記錄。

    使用“添加”命令可以將其它數(shù)據(jù)庫內(nèi)的記錄添加到本數(shù)據(jù)庫,如:   添加 (“工資表”, ,)  可以將 工資表edb 數(shù)據(jù)庫中的所有記錄添加到當前數(shù)據(jù)庫的尾部;

 語句可以僅添加前 10 條記錄; 
 
語句可以僅添加所有未被刪除的記錄。

七、刪除記錄:

    XBASE 數(shù)據(jù)庫一樣,記錄使用“刪除”命令刪除,但刪除后并不馬上從數(shù)據(jù)庫中清除,僅僅只被加上一個刪除標記,依舊存在并可以正常訪問。只有當執(zhí)行“徹底刪除”命令后,這些被加上刪除標記的記錄才會被從數(shù)據(jù)庫中真正清除。

    使用“是否已刪除”命令可以查看當前記錄是否被加上了刪除標記,被加上刪除標記的記錄可以使用“恢復刪除”命令取消其刪除標記。

    使用“清空”命令可以徹底刪除當前數(shù)據(jù)庫內(nèi)的所有記錄。

八、查找記錄:

    查找記錄有兩種方法:不使用索引和使用索引。

1、不使用索引:

    查找在示例數(shù)據(jù)庫中所有姓王的員工記錄的方法類似如下:

    到首記錄()    如果當前記錄指針在首記錄上,則不需要此語句。
   
判斷循環(huán)首 (查找 ( (#姓名) ≈ “王”))
       
進行所需操作。
        跳過()
   
判斷循環(huán)尾 ()

    注意與 XBASE 不同的是:易語言的查找從當前記錄開始。

    與易語言中的拼音處理類命令結(jié)合可以解決在漢字中極常見的近音搜尋問題:

    語句中的“刪全部空”命令用作預先去除字段數(shù)據(jù)中可能存在的全半角空格,如果確定所有記錄的該字段數(shù)據(jù)中都不存在空格,可以去掉此命令。

    第一條語句可以查找出當前數(shù)據(jù)庫中所有姓名發(fā)音為“王屋”的員工,如:“王五”、“王舞”等等;第二條語句完成類似的工作,不過使用的是全拼拼音編碼;第三條語句使用的是首拼拼音編碼。

2、使用索引:

    可以使用結(jié)構(gòu)管理器預先在 工資.edb上建立索引文件,也可以在程序中創(chuàng)建:

       

    上面的語句建立了一個名為 工資.enx的索引文件,它基于示例數(shù)據(jù)庫的“姓名”字段,您也可以建立基于多個字段的索引文件。

索引只有被打開后才能被使用。使用“新建索引”命令新建的索引會被自動打開并設(shè)置為當前索引。對于已經(jīng)存在的索引文件,您必須在打開數(shù)據(jù)庫時同步打開:

   此語句同步打開了 工資.enx 數(shù)據(jù)庫索引文件,并將其設(shè)置為當前索引。

    在數(shù)據(jù)庫中搜尋所有姓名為“王五”的員工:

    為了解決近音漢字搜尋問題,易語言中可以建立發(fā)音索引文件:

       

   這兩條語句分別建立了一個基于標準讀音和一個基于南方讀音的索引文件。

    使用發(fā)音索引文件即可進行近音搜尋,如:

 就可以找到“王五”。

    在打開數(shù)據(jù)庫時應(yīng)該使用其“索引文件表”參數(shù)同時打開所有的索引文件,以便索引文件能夠得到及時的更新。您也可以使用“更新索引”命令來強制更新當前索引文件。

九、查看數(shù)據(jù)庫命令是否執(zhí)行成功:

    大多數(shù)的數(shù)據(jù)庫命令執(zhí)行完畢后都會返回一個邏輯值,表明是否執(zhí)行成功。但是也有一部分命令無法做到這一點,如:“取最大值”等。

    您可以在任何數(shù)據(jù)庫命令執(zhí)行完畢后立即調(diào)用“取錯誤碼”命令來查看其是否執(zhí)行成功。如果成功,“取錯誤碼”命令將返回 0 ,否則將返回一個非 0 的錯誤值。

    另外,如果發(fā)現(xiàn)命令執(zhí)行失敗,立即調(diào)用“取錯誤信息”命令可以取回對應(yīng)的錯誤信息文本,當然是全中文的。

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SQLite的SQL語法
Sqlite的Sql語法(三) [轉(zhuǎn)自www.sqlite.com.cn] - 宇鶴敬文的日志 - 網(wǎng)易博客
易語言對ACCESS數(shù)據(jù)庫基礎(chǔ)
VFP命令、函數(shù)及程序語句大全
第三章 VFP數(shù)據(jù)庫(表)的概念及操作
Foxpro數(shù)據(jù)庫命令匯總
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服