Visual FoxPro 程序設(shè)計教程_第1頁
Visual FoxPro 程序設(shè)計教程_第2頁
Visual FoxPro 程序設(shè)計教程_第3頁
Visual FoxPro 程序設(shè)計教程_第4頁
Visual FoxPro 程序設(shè)計教程_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、打開數(shù)據(jù)庫打開數(shù)據(jù)庫 若要打開一個數(shù)據(jù)庫:從“文件”菜單中選擇“打開”,選擇數(shù)據(jù)庫名。打開數(shù)據(jù)庫后,就會顯示出“數(shù)據(jù)庫設(shè)計器”,它向用戶展示了組成數(shù)據(jù)庫的若干表以及它們之間的關(guān)系。 若要看一下樣例數(shù)據(jù)庫的結(jié)構(gòu),可以打開數(shù)據(jù)庫Testdata.dbc,該文件存于program filesmicrosoft visual studiomsdn9898vs2052samplesvfp98data目錄下。打開Testdata.dbc后,顯示如圖11-1所示 圖圖11-1 樣例數(shù)據(jù)庫樣例數(shù)據(jù)庫 展開或折疊所有表展開或折疊所有表將鼠標指針指向“數(shù)據(jù)庫設(shè)計器”窗口,單擊鼠標右鍵,打開快捷菜單,如圖11-2所

2、示。 圖圖11-2 數(shù)據(jù)庫設(shè)計器中折疊后的表數(shù)據(jù)庫設(shè)計器中折疊后的表 創(chuàng)建新的數(shù)據(jù)庫創(chuàng)建新的數(shù)據(jù)庫 若要創(chuàng)建新的數(shù)據(jù)庫: 從“文件”菜單中選擇“新建”命令。在“新建”對話框中選擇“數(shù)據(jù)庫”單選鈕,然后單擊“新建文件”按鈕,打開“創(chuàng)建”對話框,如圖11-1所示 在“創(chuàng)建”數(shù)據(jù)庫對話框中輸入新數(shù)據(jù)庫名,“保存”后,會顯示一個空的“數(shù)據(jù)庫設(shè)計器”窗口,與此同時,“數(shù)據(jù)庫設(shè)計器”工具欄將變?yōu)橛行?,如圖11-2所示。 圖11-3 “創(chuàng)建”數(shù)據(jù)庫對話 框圖圖11-4 “數(shù)據(jù)庫設(shè)計器數(shù)據(jù)庫設(shè)計器”窗口窗口在數(shù)據(jù)庫中加入表在數(shù)據(jù)庫中加入表 向數(shù)據(jù)庫中添加表向數(shù)據(jù)庫中添加表 從從“數(shù)據(jù)庫數(shù)據(jù)庫”菜單或菜單或“數(shù)

3、據(jù)庫設(shè)計器數(shù)據(jù)庫設(shè)計器”工具欄或右擊數(shù)工具欄或右擊數(shù)據(jù)庫設(shè)計器窗口,從中選擇據(jù)庫設(shè)計器窗口,從中選擇“添加表添加表”。在。在“打開打開”對話對話框中選定一個表,然后選擇框中選定一個表,然后選擇“確定確定 ”. 圖圖11-5 向數(shù)據(jù)庫中添加表向數(shù)據(jù)庫中添加表 準備關(guān)聯(lián)準備關(guān)聯(lián) 要決定哪個表需要這些字段,可考慮使用記錄號怎樣關(guān)聯(lián)數(shù)據(jù)。例如,一個學生可能有多個成績。因此,學生(Student)表應(yīng)包含主記錄,成績(cj)表包含相關(guān)記錄。 為準備兩個關(guān)聯(lián)表中的主表,需要在主表中添加主關(guān)鍵字字段,如“學號”。這是因為學生表中一條記錄與成績表的多個記錄關(guān)聯(lián)。 要在兩個表之間提供公共字段,需要在帶有關(guān)聯(lián)記錄

4、的表添加外部關(guān)鍵字字段,如成績表。外部關(guān)鍵字字段必須以相同的數(shù)據(jù)類型匹配主關(guān)鍵字字段,而且一般用相同的名稱。且以主關(guān)鍵字字段和外部關(guān)鍵字字段創(chuàng)建的索引必須帶有相同的表達式。如圖11-6所示。圖圖11-6 數(shù)據(jù)庫中的表數(shù)據(jù)庫中的表 關(guān)聯(lián)表 若要準備關(guān)系,可以按如下步驟進行: (1) 決定哪個表有主記錄(如Student表),哪個表有關(guān)聯(lián)記錄(如cj表)。 (2) 對有主記錄的表,添加一個整數(shù)型字段,再對該字段添加一個主索引。 (3) 對帶有關(guān)聯(lián)記錄的表,添加一個與另個表匹配的主關(guān)鍵字字段,再對該新字段添加一個一般索引。 定義字段顯示定義字段顯示設(shè)置字段標題設(shè)置字段標題 圖11-9 基于標題的列名

5、 按照一下步驟可以給字段值定一個標題: 為字段輸入注釋為字段輸入注釋 按照以下步驟可以為一個字段作注釋: 在“表設(shè)計器”中,選定字段。 在“字段注釋”框中鍵入注釋內(nèi)容,如圖11-9所示。 選擇“確定”。 設(shè)置默認字段值設(shè)置默認字段值 按照以下步驟,可以設(shè)置字段的默認值: 在“數(shù)據(jù)庫設(shè)計器”中選定表。 從“數(shù)據(jù)庫”菜單中選擇“修改”。 在“表設(shè)計器”中選定要賦予默認值的字段。 在“默認值”框中鍵入要顯示在所有新記錄中的字段值(字符型字段應(yīng)用引號括起來)。 選擇“確定”。 設(shè)置有效性規(guī)則和有效性說明設(shè)置有效性規(guī)則和有效性說明 設(shè)置有效性規(guī)則和有效性說明: 在“表設(shè)計器”中打開表。 在“表設(shè)計器”中

6、選定要建立規(guī)則的字段名。 在“規(guī)則”方框旁邊選擇對話按鈕。 在“表達式生成器”中設(shè)置有效性表達式,并選擇“確定”。例如,限制“學號”字段的前兩位只能為97,并且輸入的學號必須滿8位: SUBSTR(學號,1,2) = 97 AND LEN(TRIM(學號) = 8 建立有效性規(guī)則時,必須創(chuàng)建一個有效的Visual FoxPro表達式,其中要考慮到這樣一些問題:字段的長度、字段可能為空或者包含了已設(shè)置好的值等等。表達式也可以包含結(jié)果為真或假的函數(shù)。 在“信息”框中,鍵入用引號括起的錯誤信息,例如,顯示“學號不符合要求”,如圖11-9所示。 選擇“確定”。 如果輸入的信息不能滿足有效性規(guī)則,在“有

7、效性說明”中設(shè)定的信息便會顯示出來。,如圖11-10所示。圖圖11-10 當輸入非法數(shù)值時,屏幕上會顯示有效性說明當輸入非法數(shù)值時,屏幕上會顯示有效性說明 控制記錄的數(shù)據(jù)輸入控制記錄的數(shù)據(jù)輸入按照以下步驟可以設(shè)置有效性規(guī)則: 選定表,在“數(shù)據(jù)庫”菜單中選擇“修改”。將打開“表設(shè)計器”對話框。 在“表設(shè)計器”中選擇“表”選項卡。 在“規(guī)則”框中,輸入一個有效的Visual FoxPro表達式定義規(guī)則,如圖11-9所示。單擊“”按鈕以使用“表達式生成器”,如圖11-11所示。例如,Student表中,97級的學生“總學分”必須為0,則可以在“表”選項卡的“有效性規(guī)則”框中鍵入下述表達式:IIF(S

8、TRSUB(學號,1,2)=1997 and 總學分#0, .F.,.T.) 在“信息”框中輸入提示信息。例如,“信息”文字可以是:新生總學分必須為0。當有效性規(guī)則未被滿足時,將會顯示該信息。 選擇“確定”。 在“表設(shè)計器”中選擇“確定” 圖圖11-11 “表達式生成器表達式生成器”對話框?qū)υ捒?管理數(shù)據(jù)庫記錄管理數(shù)據(jù)庫記錄 如果添加一個成績記錄,可能想在成績表中自動添加關(guān)于該學生的基本信息。為了幫助設(shè)置規(guī)則,控制如何在關(guān)系表中插入、更新或刪除記錄,可使用“參照完整性設(shè)計器”。若要使用“參照完整性生成器”: 在“數(shù)據(jù)庫設(shè)計器”中建立兩表之間的關(guān)系,或者雙擊關(guān)系線來編輯關(guān)系。 在“編輯關(guān)系”對話

9、框中選擇“參照完整性”按鈕,如圖11-12所示。圖11-12 在“編輯關(guān)系”對話框中的參照完整性按鈕 在“參照完整性生成器”中選擇更新、刪除或插入記錄時所遵循的若干規(guī)則,如圖11-13所示。圖圖11-13 “參照完整性生成器參照完整性生成器”對話框?qū)υ捒?選擇“確定”,然后選擇“是”保存所做的修改,生成“參照完整性”代碼,并退出參照完整性生成器。第第2章章使用數(shù)據(jù)庫使用數(shù)據(jù)庫 1 在表單中對多表的控制使用SELECT命令可以將指定的工作區(qū)設(shè)為當前工作區(qū),其語法格式為:SELECT 工作區(qū)號工作區(qū)號|表別名表別名【例11-1】在表單中瀏覽多個表。如圖11-14所示。 圖11-14 在表單中瀏覽多

10、個表 設(shè)計步驟如下: (1) 創(chuàng)建數(shù)據(jù)環(huán)境。 (2) 在表單中增加一個命令按鈕組CommandGroup1,如圖11-14所示。 (3) 編寫CommandGroup1的Click事件代碼:n = THIS.ValueDO CASE CASE n = 1 SELECT student CASE n = 2 SELECT class0 CASE n = 3 SELECT kc CASE n = 4 SELECT cjENDCASEBROW 運行表單,即可在一個表單中瀏覽不同的數(shù)據(jù)表。 多表的表單設(shè)計 1. 用一對多表單向?qū)?chuàng)建表單 【例11-2】利用“一對多表單向?qū)А痹O(shè)計操作多表的表單程序。 設(shè)

11、計步驟為:首先,用下列方法之一打開“向?qū)нx取”對話框:l 在“工具”菜單中選擇“向?qū)А弊硬藛?,再從子菜單中選擇“表單”。l 從“文件”菜單中選擇“新建”,并依次選取“表單”、“向?qū)А?。l 選擇主工具條上的表單按鈕。 步驟1 - 從父表中選定字段。 步驟2 - 從子表中選定字段。 步驟3- 建立表之間的關(guān)系。 步驟4 選擇表單樣式 步驟5 - 排序次序 步驟6 - 完成。 在表格中增加控件 【例11-4】在上例的子表表格中增加下拉列表框,以便在編輯數(shù)據(jù)時能控制數(shù)據(jù)的來源。 設(shè)計步驟如下: (1) 修改數(shù)據(jù)環(huán)境在數(shù)據(jù)環(huán)境中增加新表,并在cj.dbf和kc.dbf之間建立關(guān)系。 (2) 修改表單刪除

12、表格第一列中的文本框,增加下拉列表框。 (3) 設(shè)置Combo1的屬性 進一步的修改【例11-5】修改上例的表單,利用選項按鈕組來控制“性別”字段,利用組合框來控制班級編號的輸入(如圖11-30)。圖圖11-30 進一步的修改進一步的修改 設(shè)計步驟如下: (1) 修改數(shù)據(jù)環(huán)境。 (2) 修改表單。 (3) 修改代碼。 修改容器“性別1”中復(fù)選框Check1的Refresh事件代碼:checkbox:RefreshTHIS.Parent.OptionGroup1.Value = IIF(THIS.Value,1,2) 修改容器“性別1”中選項按鈕組OptionGroup1的Interactive

13、Change事件代碼:THIS.Parent.Check1.Value = IIF(THIS.Value = 1,.T.,.F.) 修改命令按鈕容器中“添加”按鈕cmdAdd的Click事件代碼:txtbtns:cmdadd.ClickIF THIS.Caption = 保存保存(S) THISFORM.性別性別1.OptionGroup1.Enabled = .T. THISFORM.班級編號班級編號1.Combo1.Enabled = .T. THISFORM.Grid1.Enabled = .T.ELSE THISFORM.性別性別1.OptionGroup1.Enabled = .F.

14、 THISFORM.班級編號班級編號1.Combo1.Enabled = .F. THISFORM.Grid1.Enabled = .F.ENDIF 修改命令按鈕容器中修改命令按鈕容器中“編輯編輯”按鈕按鈕cmdEdit的的Click事件事件代碼:代碼:txtbtns:cmdedit.ClickIF THIS.Caption = 還原還原(R) THISFORM.性別性別1.OptionGroup1.Enabled = .T. THISFORM.班級編號班級編號1.Combo1.Enabled = .T. THISFORM.Grid1.Enabled = .T.ELSE THISFORM.性別性別1.OptionGroup1.Enabled = .F. THISFORM.班級編號班級編號1.Combo1.Enabled = .F. THISFORM.Grid1.Enabled = .F.ENDIF習題11 11.1 創(chuàng)建“職工”數(shù)據(jù)庫,其中包含第10章習題中的數(shù)據(jù)表:“職工情況.dbf”和“職工工資.dbf”。 11.2 修改上題中的數(shù)據(jù)庫: (1) 在數(shù)據(jù)庫中創(chuàng)建一個新表“部門”,僅包含兩個字段:部門、部門編號。 (2) 修改數(shù)據(jù)表“職工情況”,將“部門”字段改為“部門編號”。 (3) 建立“部門”表與“職工情況”之間的關(guān)聯(lián)。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論