項(xiàng)目管理器設(shè)計(jì)數(shù)據(jù)庫(kù)及表課件_第1頁(yè)
項(xiàng)目管理器設(shè)計(jì)數(shù)據(jù)庫(kù)及表課件_第2頁(yè)
項(xiàng)目管理器設(shè)計(jì)數(shù)據(jù)庫(kù)及表課件_第3頁(yè)
項(xiàng)目管理器設(shè)計(jì)數(shù)據(jù)庫(kù)及表課件_第4頁(yè)
項(xiàng)目管理器設(shè)計(jì)數(shù)據(jù)庫(kù)及表課件_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目管理器設(shè)計(jì)數(shù)據(jù)庫(kù)及表課件第3章利用項(xiàng)目管理器設(shè)計(jì)數(shù)據(jù)庫(kù)和表

3.1建立項(xiàng)目管理器

3.2數(shù)據(jù)庫(kù)設(shè)計(jì)方法

3.3通過(guò)“數(shù)據(jù)”進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)

3.4設(shè)計(jì)數(shù)據(jù)表

3.5記錄基本處理方法

小結(jié)

返回退出6/4/202323.1建立項(xiàng)目管理器

3.1.1項(xiàng)目管理器

3.1.2用項(xiàng)目管理器構(gòu)造應(yīng)用程序

3.1.3添加文件到一個(gè)項(xiàng)目

3.1.4生成應(yīng)用程序

返回退出6/4/202333.1.1項(xiàng)目管理器

項(xiàng)目管理器是VFP應(yīng)用程序開(kāi)發(fā)過(guò)程中所有對(duì)象與數(shù)據(jù)的“控制中心(ControlCenter)”項(xiàng)目管理器的創(chuàng)建方法:1、利用VFP系統(tǒng)菜單上的【文件】中的【新建】菜單項(xiàng)進(jìn)行創(chuàng)建,并且可以使用創(chuàng)建項(xiàng)目管理器的向?qū)А?、在VFP的命令窗口中通過(guò)輸入命令來(lái)創(chuàng)建項(xiàng)目管理器。方法一:利用菜單創(chuàng)建項(xiàng)目Gxglxt。格式一:CREATEPROJECT<項(xiàng)目文件名|?>

方法二:利用命令創(chuàng)建項(xiàng)目管理器:參數(shù)描述:<項(xiàng)目文件名>:指定項(xiàng)目的文件名。如果沒(méi)有為文件指定擴(kuò)展名,則VFP自動(dòng)指定.PJX為擴(kuò)展名。<?>:打開(kāi)“創(chuàng)建”對(duì)話框,提示為正在創(chuàng)建的項(xiàng)目文件命名。6/4/20234項(xiàng)目管理器【新建…】:創(chuàng)建新文件命令按鈕。【修改…】:修改項(xiàng)目管理器中存在的文件。【添加…】:添加已存在的文件到項(xiàng)目管理器。【運(yùn)行…】或【打開(kāi)】或【關(guān)閉】或【瀏覽】:運(yùn)行“文檔”、“代碼”和“其它”選項(xiàng)卡中文件,打開(kāi)、關(guān)閉數(shù)據(jù)選項(xiàng)卡中的數(shù)據(jù)庫(kù)、表等,關(guān)閉(或稱為折疊)項(xiàng)目文件中某一展開(kāi)的選項(xiàng)卡顯示。【移去…】:將所選擇的文件移出項(xiàng)目文件或從磁盤(pán)上刪除。【連編…】:建立應(yīng)用程序(.APP)或可執(zhí)行(.EXE)程序。折疊或展開(kāi)項(xiàng)目管理器。6/4/20235項(xiàng)目管理器全部選項(xiàng)卡單擊折疊或展開(kāi)按鈕將項(xiàng)目管理器折疊。從項(xiàng)目管理器中拖下后的“全部”選項(xiàng)卡。從項(xiàng)目管理器中拖下后的“其它”選項(xiàng)卡。從項(xiàng)目管理器中拖下后的“代碼”選項(xiàng)卡。從項(xiàng)目管理器中拖下后的“數(shù)據(jù)”選項(xiàng)卡。從項(xiàng)目管理器中拖下后的“文檔”選項(xiàng)卡。從項(xiàng)目管理器中拖下后的“類”選項(xiàng)卡。返回6/4/202363.1.2用項(xiàng)目管理器構(gòu)造應(yīng)用程序構(gòu)造一個(gè)應(yīng)用程序應(yīng)注意以下問(wèn)題:1、首先應(yīng)設(shè)置起始點(diǎn)

應(yīng)用程序都應(yīng)該有一個(gè)主文件作為其執(zhí)行的起始點(diǎn),它可以是包含在一個(gè)項(xiàng)目中的任何程序、表單或查詢文件,然后從【項(xiàng)目】菜單中選擇【設(shè)置主文件】來(lái)建立應(yīng)用程序的起始點(diǎn)。在項(xiàng)目中,只有一個(gè)文件能設(shè)置成為主文件建立一個(gè)主程序的一般步驟如下:■安裝應(yīng)用程序的環(huán)境■確定初始用戶界面■建立事件循環(huán)(Eventloop)■當(dāng)應(yīng)用程序退出時(shí)恢復(fù)環(huán)境。【例3-1】主程序示例:DOSetup&&安裝環(huán)境DOMainMenu.mpr&&調(diào)用主菜單顯示初始用戶界面READEVENTS&&建立事件循環(huán)DOcleanup&&恢復(fù)環(huán)境注意:在MainMenu.mpr中應(yīng)加一個(gè)退出菜單項(xiàng),以便發(fā)出CLEAREVENTS命令防止死循環(huán)。6/4/202372、安裝應(yīng)用程序環(huán)境在安裝應(yīng)用程序環(huán)境時(shí)應(yīng)注意,在安裝源程序中,應(yīng)先將初始環(huán)境存貯起來(lái),然后啟動(dòng)一個(gè)應(yīng)用程序特定的環(huán)境,它包括初始化變量、建立默認(rèn)路徑、引用外部庫(kù)(Externallibrary)和過(guò)程(procedure)文件等。3、顯示初始界面初始用戶界面可以是一個(gè)開(kāi)始屏幕、菜單欄、表單或者任何其它組件。可以在主程序中通過(guò)使用DO命令去運(yùn)行一個(gè)菜單,或者通過(guò)DOFORM去運(yùn)行一個(gè)表單,或者通過(guò)設(shè)置一個(gè)表單為主程序來(lái)初始化用戶界面。4、控制事件循環(huán)一旦環(huán)境安裝并且已經(jīng)顯示初始界面后,應(yīng)該準(zhǔn)備建立一個(gè)事件循環(huán)去等待用戶交互。控制事件循環(huán)的方法是:發(fā)出READEVENTS命令啟動(dòng)處理事件;發(fā)出CLEAREVENTS命令去停止處理事件。5、恢復(fù)原始環(huán)境為了恢復(fù)存貯變量的原始值,可用宏替換它們進(jìn)原始SET命令。例如,如果已在安裝應(yīng)用程序環(huán)境時(shí)已存貯SETTALK設(shè)置的內(nèi)容進(jìn)入了CtalkVal變量:CtalkVal=SET(“Talk”)如果在使用中改變了“TALK”的設(shè)置,當(dāng)要恢復(fù)其初始設(shè)置時(shí),則在恢復(fù)原始環(huán)境時(shí)可以用下一條命令去恢復(fù):SETTALK&CtalkVal返回6/4/202383.1.3添加文件到一個(gè)項(xiàng)目和連編項(xiàng)目

一旦建立了應(yīng)用程序的框架后,便可以準(zhǔn)備將其它文件添加到項(xiàng)目中。添加文件到項(xiàng)目中一個(gè)好的方法是去連編此項(xiàng)目。為添加一個(gè)文件到項(xiàng)目管理器中,也可以先在項(xiàng)目管理器中選擇要添加的文件類別,在單擊項(xiàng)目管理器中的【添加…】按鈕。

若要連編項(xiàng)目,可在項(xiàng)目管理器中設(shè)置主文件后再選擇【連編】。當(dāng)向項(xiàng)目中添加組件時(shí),應(yīng)該重復(fù)項(xiàng)目的連編和運(yùn)行。如果沒(méi)有在“連編選項(xiàng)”對(duì)話框中的“操作”選項(xiàng)組中選擇“重新編譯所有文件”,那么,在連編時(shí)只編譯自上次連編以后修改過(guò)的文件。

連編選項(xiàng)對(duì)話框返回6/4/202393.1.4生成應(yīng)用程序

要從項(xiàng)目管理器創(chuàng)建一個(gè)最終的文件,需要把它連編為一個(gè)應(yīng)用程序文件或可執(zhí)行文件。連編應(yīng)用程序步驟:第1步:設(shè)置主文件;第2步:在“項(xiàng)目管理器”中選擇【連編】按鈕;第3步:在彈出的“連編選項(xiàng)”對(duì)話框中的“操作”選項(xiàng)組中選中“連編應(yīng)用程序”單選項(xiàng);第4步:?jiǎn)螕簟敬_定】。連編可執(zhí)行文件步驟:第1步:設(shè)置主文件;第2步:在“項(xiàng)目管理器”中選擇【連編】按鈕;第3步:在彈出的“連編選項(xiàng)”對(duì)話框中的“操作”選項(xiàng)組中選中“連編可執(zhí)行程序”單選框;第4步:?jiǎn)螕簟敬_定】。返回6/4/2023103.2數(shù)據(jù)庫(kù)設(shè)計(jì)方法3.2.1數(shù)據(jù)庫(kù)設(shè)計(jì)步驟3.2.2數(shù)據(jù)需求分析

3.2.3數(shù)據(jù)庫(kù)表確定3.2.4數(shù)據(jù)庫(kù)表字段確定返回退出3.2.5數(shù)據(jù)庫(kù)表間關(guān)系設(shè)定3.2.6設(shè)計(jì)求精6/4/2023113.2.1數(shù)據(jù)庫(kù)設(shè)計(jì)步驟

數(shù)據(jù)庫(kù)設(shè)計(jì)步驟:第1步:確定建立數(shù)據(jù)庫(kù)的目的,這有助于確定需要VFP保存哪些信息;第2步:確定需要的表;在明確了建立數(shù)據(jù)庫(kù)的目的之后,就可以著手把信息分成獨(dú)立的主題,例如“Student”(學(xué)生情況)或“Grade”(學(xué)生成績(jī))等。每個(gè)主題都可以是數(shù)據(jù)庫(kù)中的一個(gè)表。第3步:確定所需字段;確定在每個(gè)表中保存哪些信息。在表中,每類信息稱為一個(gè)字段,瀏覽表時(shí)在表中顯示為一列。例如,在Student表中,可以有這樣的字段:“學(xué)號(hào)”、“姓名”、“性別”等。第4步:確定關(guān)系;分析每個(gè)表,確定一個(gè)表中的數(shù)據(jù)和其它表中的數(shù)據(jù)有何關(guān)系。必要時(shí),可以在表中加入字段或創(chuàng)建一個(gè)新表來(lái)明確關(guān)系。第5步:設(shè)計(jì)求精。對(duì)設(shè)計(jì)進(jìn)一步分析,查找其中的錯(cuò)誤。創(chuàng)建表時(shí),在表中加入幾個(gè)示例記錄,看能否從表中得到所想要的結(jié)果。返回6/4/2023123.2.2數(shù)據(jù)需求分析這一步是建立數(shù)據(jù)庫(kù)的關(guān)鍵,也就是說(shuō)必須清楚地了解最終的需求是什么?有一些什么樣的信息要保存?以后需要如何對(duì)數(shù)據(jù)進(jìn)行處理?等等建立Gxglxt數(shù)據(jù)庫(kù)需求分析■首先列出需數(shù)據(jù)庫(kù)回答的問(wèn)題清單。如:本學(xué)期每個(gè)人每門(mén)課的期末考試成績(jī)是多少?有哪些人的哪些課程不及格?哪些學(xué)生的學(xué)業(yè)成績(jī)達(dá)到了獲獎(jiǎng)學(xué)金的標(biāo)準(zhǔn)?哪些學(xué)生在考試中哪門(mén)課程舞弊了?等等。■其次收集所有的表單和報(bào)表。這些表單和報(bào)表包含了應(yīng)該由數(shù)據(jù)庫(kù)提供的各種信息。如期末考試成績(jī)需要錄入哪些信息等。■最后,期末考試成績(jī)冊(cè)如何打印等等。返回6/4/2023133.2.3數(shù)據(jù)庫(kù)表確定確定數(shù)據(jù)庫(kù)表是數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中技巧性最強(qiáng)的一步。應(yīng)注意以下幾個(gè)方面的問(wèn)題:

■一個(gè)表只保存一個(gè)主題的內(nèi)容;■同一信息只保存一次,這將減少出錯(cuò)的可能性;■防止刪除有用信息。以建立Gxglxt數(shù)據(jù)庫(kù)中的表為例:在學(xué)習(xí)成績(jī)表中,每位學(xué)生所學(xué)的課程不屬于一位學(xué)生,因而需要有一個(gè)學(xué)習(xí)課程表。同樣,一個(gè)班級(jí)不只一名學(xué)生,要有一個(gè)班級(jí)主題的表等。Student表和Grade表都與學(xué)生有關(guān),但關(guān)于學(xué)生個(gè)人情況的信息保存在Student表中,Grade表中只保存與成績(jī)有關(guān)的信息。當(dāng)一個(gè)班的學(xué)生畢業(yè)后,可能要?jiǎng)h除這個(gè)班級(jí),但不能刪除這個(gè)專業(yè),最好的方法是建立一個(gè)“專業(yè)(Specialty)”表。返回6/4/2023143.2.4數(shù)據(jù)庫(kù)表字段確定確定表字段的幾點(diǎn)技巧:■每個(gè)字段直接和表的主題相關(guān);■不要包含可推導(dǎo)得到或通過(guò)計(jì)算可以得到的字段;■收集所需的全部信息;■以最小的邏輯單位存儲(chǔ)信息。使用主關(guān)鍵字段

■VFP不允許在主關(guān)鍵字中有重復(fù)值或null值。因此,不能選擇包含有這類值的字段作為主關(guān)鍵字。■因?yàn)橐弥麝P(guān)鍵字的值來(lái)查找記錄,所以它不能太長(zhǎng),以方便記憶和鍵入。主關(guān)鍵字可由一定長(zhǎng)度的字母和數(shù)字組成,或是某一范圍內(nèi)的值。■主關(guān)鍵字的長(zhǎng)度直接影響數(shù)據(jù)庫(kù)的操作速度,因此,在創(chuàng)建主關(guān)鍵字時(shí),該字段值最好使用能滿足存儲(chǔ)要求的最小長(zhǎng)度。返回6/4/2023153.2.5數(shù)據(jù)庫(kù)表間關(guān)系設(shè)定VFP是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。在每個(gè)不同的表中存儲(chǔ)的數(shù)據(jù)之間有一定的關(guān)系。通過(guò)在這些表之間定義關(guān)系后,可以利用這些關(guān)系來(lái)查找數(shù)據(jù)庫(kù)中有關(guān)的信息。表之間有三種關(guān)系:即一對(duì)一關(guān)系、一對(duì)多關(guān)系和多對(duì)多關(guān)系

■在一對(duì)一關(guān)系中①如果兩個(gè)表有相同的主題,可在兩個(gè)表中使用同樣的主關(guān)鍵字字段,并以此建立一對(duì)一關(guān)系。②如果兩個(gè)表有不同的主題及不同的主關(guān)鍵字,選擇一個(gè)表(任意哪個(gè)表)把它的主關(guān)鍵字放到另一個(gè)表中作為外部關(guān)鍵字。■在一對(duì)多關(guān)系中要建立這樣的關(guān)系,就要把關(guān)系中“一方”的主關(guān)鍵字字段添加到“多方”的表中。在關(guān)系中,“一方”用主關(guān)鍵字或候選索引關(guān)鍵字,而“多方”使用普通索引關(guān)鍵字。■在多對(duì)多關(guān)系中向VFP正確指定關(guān)系之前,需要改變數(shù)據(jù)庫(kù)的設(shè)計(jì),即創(chuàng)建第三個(gè)表,把多對(duì)多關(guān)系分解為二個(gè)一對(duì)多關(guān)系。這第三個(gè)表稱作“紐帶表”,紐帶表可能只包含這兩個(gè)表的主關(guān)鍵字,也可能包含其它信息。

返回6/4/2023163.2.6設(shè)計(jì)求精對(duì)所設(shè)計(jì)的表分析,查找是否存在如下問(wèn)題:■表中是否帶有大量的并不屬于這個(gè)主題的字段?■表中是否有些字段由于對(duì)很多記錄不適用而始終保持空白?■是否有大量的表包含了同樣的字段?■是否遺忘了字段?是否有需要的信息沒(méi)包括進(jìn)去?如果有,它們是否屬于已創(chuàng)建的表?如果不包含在已創(chuàng)建的表中,那就需要另外創(chuàng)建一個(gè)表。■是否為每個(gè)表選擇了合適的主關(guān)鍵字?在使用這個(gè)主關(guān)鍵字查找具體記錄時(shí),它是否很容易記憶和鍵入?■是否有字段很多、記錄卻很少的表,而且許多記錄中的字段值為空?查找到存在的問(wèn)題后,就要修改表的結(jié)構(gòu),以改進(jìn)設(shè)計(jì)方案。返回6/4/2023173.3通過(guò)“數(shù)據(jù)”選項(xiàng)卡進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)3.3.1數(shù)據(jù)字典的作用3.3.2將表加入到數(shù)據(jù)庫(kù)返回退出6/4/2023183.3.1數(shù)據(jù)字典的作用■主關(guān)鍵字和候選索引關(guān)鍵字。■數(shù)據(jù)庫(kù)中表間的永久關(guān)系。■長(zhǎng)表名和長(zhǎng)字段名。■各字段的標(biāo)題,日后它們作為標(biāo)題頭顯示在“瀏覽”窗口和表格中。■字段的默認(rèn)值。■表單中使用的默認(rèn)控件類。■字段的輸入掩碼和顯示格式。■字段級(jí)規(guī)則和記錄級(jí)規(guī)則。■觸發(fā)器。■存儲(chǔ)過(guò)程。■與遠(yuǎn)程數(shù)據(jù)源的連接。■本地視圖與遠(yuǎn)程視圖。■對(duì)每個(gè)字段、表和數(shù)據(jù)庫(kù)的注釋。返回6/4/2023193.3.2將表加入到數(shù)據(jù)庫(kù)1、創(chuàng)建數(shù)據(jù)庫(kù)2、將表加入到數(shù)據(jù)庫(kù)

要將一個(gè)或多個(gè)表加入到數(shù)據(jù)庫(kù)中時(shí),可以在“項(xiàng)目管理器”中選擇“數(shù)據(jù)”選項(xiàng)卡,再?gòu)牧斜碇羞x擇“數(shù)據(jù)庫(kù)”項(xiàng)下的“表”,最后選擇【添加】按鈕。要添加的表必須具備下列條件:■該表是一個(gè)有效的.DBF文件;■除非為表指定一個(gè)唯一的長(zhǎng)文件名,否則表不允許與打開(kāi)的數(shù)據(jù)庫(kù)中已有的表同名。■表不能同時(shí)放在另一個(gè)數(shù)據(jù)庫(kù)中。要加入表的數(shù)據(jù)庫(kù)必須具備下列條件:■必須以獨(dú)占方式打開(kāi)。要想獨(dú)占地打開(kāi)一個(gè)數(shù)據(jù)庫(kù),在使用OPENDATABASE命令時(shí)加入EXCLUSIVE子句;■不包含在事務(wù)中。返回6/4/2023203.4設(shè)計(jì)數(shù)據(jù)表3.4.1建立表前的準(zhǔn)備3.4.2建立表基本結(jié)構(gòu)

3.4.3表結(jié)構(gòu)的基本處理方法返回退出6/4/2023213.4.1建立表前的準(zhǔn)備在建立表結(jié)構(gòu)以前,首先應(yīng)該根據(jù)用戶的需求,明確所要?jiǎng)?chuàng)建的表中應(yīng)該包含哪些字段,每個(gè)字段的名稱、類型和寬度。創(chuàng)建Gxglxt中的Student(學(xué)生情況)表基本情況應(yīng)包括:學(xué)號(hào)、姓名、性別、出生日期、班級(jí)、等內(nèi)容。結(jié)構(gòu)如下:返回6/4/2023223.4.2建立表基本結(jié)構(gòu)使用命令建立表結(jié)構(gòu):格式:CREATE<表文件名>功能:建立一個(gè)表文件。說(shuō)明:輸入命令后,按Enter鍵,屏幕上會(huì)出現(xiàn)“表設(shè)計(jì)器”對(duì)話框,利用該對(duì)話框即可建立表的結(jié)構(gòu)。參數(shù)描述:<表文件名>指定要?jiǎng)?chuàng)建的表的名稱。說(shuō)明:輸入命令后,按Enter鍵,屏幕上會(huì)出現(xiàn)“表設(shè)計(jì)器”對(duì)話框,利用該對(duì)話框即可建立表的結(jié)構(gòu)。■建立表結(jié)構(gòu)是指原來(lái)磁盤(pán)上沒(méi)有這個(gè)表文件,通過(guò)CREATE命令的執(zhí)行,在磁盤(pán)上建立起一個(gè)新的表文件,若定義了備注型字段,則同時(shí)建立了一個(gè).FPT為擴(kuò)展名的表備注文件。■若在文件名前指定了驅(qū)動(dòng)器標(biāo)識(shí)符,則文件建立在指定的驅(qū)動(dòng)器上,否則建立在當(dāng)前驅(qū)動(dòng)器上。■不指定文件擴(kuò)展名時(shí),缺省擴(kuò)展名為.DBF。6/4/202323■若磁盤(pán)上存在這個(gè)文件或文件重名,系統(tǒng)顯示一個(gè)警告對(duì)話框,提示是否要改寫(xiě)表。如果需要改寫(xiě),則選擇【是】,否則選擇【否】。■不要用A-J單個(gè)字母作為表文件名,因?yàn)樗麄兪菍iT(mén)用于工作區(qū)別名的。使用命令創(chuàng)建Student.dbf示例:使用菜單創(chuàng)建表在VFP的系統(tǒng)菜單上單擊【文件】|【新建】菜單項(xiàng)便可打開(kāi)“新建”對(duì)話框(也可以利用鍵盤(pán)操作:先按Alt+F組合鍵,再按Ctrl+N鍵,也可以直接按Ctrl+N鍵)。在“新建”對(duì)話框中,選擇“表”單選項(xiàng),然后再單擊【新建文件】按鈕進(jìn)入到的“打開(kāi)”對(duì)話框。在這個(gè)對(duì)話框中首先是(關(guān)鍵也是)選擇一個(gè)表,或?yàn)楸硇氯∫粋€(gè)文件名,然后按【保存】按鈕,VFP會(huì)進(jìn)入“表設(shè)計(jì)器”。進(jìn)入表設(shè)計(jì)器后的操作與上相同。使用菜單創(chuàng)建表示例6/4/202324使用項(xiàng)目管理器創(chuàng)建表結(jié)構(gòu)在項(xiàng)目管理器的“數(shù)據(jù)”選項(xiàng)卡中選擇“表”,然后單擊【新建】|【新建表】按鈕。在出現(xiàn)的“創(chuàng)建”對(duì)話框中輸入所要?jiǎng)?chuàng)建的表的文件名,并選擇存儲(chǔ)路徑,然后選擇【保存】,將打開(kāi)表設(shè)計(jì)器。

使用項(xiàng)目管理器創(chuàng)建表結(jié)構(gòu)示例顯示格式:指定字段值顯示時(shí)的格式。顯示輸入掩碼:指定字段值在輸入時(shí)的格式。顯示標(biāo)題:指定字段名在顯示時(shí)所用的字符串。字段有效規(guī)則:指定字段在進(jìn)行結(jié)構(gòu)修改時(shí)應(yīng)該滿足的條件。字段有效性信息:指定字段在結(jié)構(gòu)修改時(shí)提示字段級(jí)規(guī)則的信息。字段有效性默認(rèn)值:為字段指定默認(rèn)值。記錄有效性規(guī)則:指定在輸入記錄時(shí)所輸入的數(shù)據(jù)應(yīng)滿足的條件。記錄有效性信息:當(dāng)輸入的數(shù)據(jù)不滿足條件而又試圖將數(shù)據(jù)保存時(shí)所出現(xiàn)的提示信息。返回6/4/2023253.4.3表結(jié)構(gòu)的基本處理方法功能:顯示當(dāng)前表結(jié)構(gòu)的有關(guān)信息。包括表文件名、記錄個(gè)數(shù)、最后一次修改日期、各字段的字段號(hào)、字段名、類型、寬度和小數(shù)位,一條記錄的字節(jié)總數(shù)。參數(shù)說(shuō)明:[TOPRINTER]子句表示將操作結(jié)果送到打印機(jī)。后面可以接[PROMPT]參數(shù),這一參數(shù)的在執(zhí)行打印命令之前,先打開(kāi)“打印設(shè)置”對(duì)話框,用以對(duì)打印機(jī)有關(guān)參數(shù)(如紙張大小、打印范圍等)進(jìn)行設(shè)置。[PROMPT]參數(shù)只能緊接TOPRINTER命令。[TOFILE]子句表示將操作結(jié)果輸出到指定的磁盤(pán)文件中。1、顯示表結(jié)構(gòu)格式一:LISTSTRUCTURE[TOPRINTER[PROMPT]/TOFILE<文本文件名>]格式二:DISPLAYSTRUCTURE[TOPRINTER[PROMPT]/TOFILE<文本文件名>]6/4/202326LISTSTRUCTURE和DISPLAYSTRUCTURE命令的區(qū)別DISPLAYSTRUCTURE在每顯示一屏信息后暫停,等待用戶按任意一鍵后繼續(xù)顯示;LISTSTRUCTURE顯示信息時(shí)沒(méi)有周期性暫停,而是連續(xù)向下顯示,直到顯示完畢。顯示Student表的結(jié)構(gòu)USEStudentLISTSTRUCTURE執(zhí)行上面的命令后,屏幕顯示如下:6/4/2023272、修改表文件的結(jié)構(gòu)格式:MODIFYSTRUCTURE功能:顯示表設(shè)計(jì)器,修改當(dāng)前表文件的結(jié)構(gòu)。說(shuō)明:如果沒(méi)有在當(dāng)前選定工件區(qū)打開(kāi)表,則顯示“打開(kāi)”對(duì)話框,允許用戶從中選擇一個(gè)要修改的表。對(duì)表結(jié)構(gòu)的更改包括:添加和刪除字段;修改字段名稱、大小和數(shù)據(jù)類型;添加、刪除或修改索引標(biāo)識(shí),以及指定是否支持NULL值等。(1)、刪除字段第一步:將光標(biāo)移到要?jiǎng)h字段的任一位置或單擊該字段的任意位置;第二步:按Ctrl+D刪除該字段或單擊【刪除】命令按鈕;第三步:按Ctrl+W或單擊【確定】按鈕存盤(pán),返回命令窗口。說(shuō)明:若刪除了某些字段,對(duì)應(yīng)字段的內(nèi)容也丟失。6/4/202328(2)、插入新字段

第一步:將光標(biāo)移到要插入字段的下一行的任一位置或單擊要插入字段的下一字段;第二步:按Ctrl+I或單擊【插入】按鈕,便可插入一個(gè)新的空字段,在空字段的位置上可以填入新字段名稱、類型、寬度及小數(shù)位。第三步:按Ctrl+W或單擊【確定】按鈕存盤(pán),返回命令窗口。(3)、修改字段名、寬度、類型和小數(shù)位

將光標(biāo)移到要修改處直接進(jìn)行修改。①一個(gè)字段有四個(gè)結(jié)構(gòu)參數(shù)項(xiàng),每次只能修改其中的一項(xiàng)。如果需要修改其中的多項(xiàng),為了不丟失數(shù)據(jù),應(yīng)分為多次進(jìn)行修改,每次修改存盤(pán)后繼續(xù)修改,直到結(jié)束。②修改字段類型時(shí),可能造成數(shù)據(jù)丟失。③無(wú)論進(jìn)行何種修改,退出MODIFYSTRUCTURE命令的方法與退出CREATE命令環(huán)境的方法相同。6/4/2023293、復(fù)制表結(jié)構(gòu)

格式:COPYSTRUCTURETO<表文件名>[FIELDS<字段名表>]功能:將當(dāng)前打開(kāi)的表文件結(jié)構(gòu)的部分或全部復(fù)制為<表文件名>所指定的一個(gè)表的結(jié)構(gòu)。參數(shù)描述:<表文件名>:指定生成新表結(jié)構(gòu)的表文件名。FIELDS<字段名表>:指定在新表中包含的字段及順序。說(shuō)明:復(fù)制生成的表文件中的結(jié)構(gòu)部分包含哪些字段,以及字段先后順序都由FIELDS<字段名表>所規(guī)定。若省略該子句,則按字段原來(lái)的順序復(fù)制全部字段。4、建立表結(jié)構(gòu)的其它方法

(1)生成表結(jié)構(gòu)文件格式:COPYSTRUCTURETO<表結(jié)構(gòu)文件名>EXTENDED

6/4/202330功能:它將當(dāng)前表的結(jié)構(gòu)復(fù)制生成一個(gè)特殊的表文件,即表結(jié)構(gòu)伸展文件。將Student的結(jié)構(gòu)復(fù)制生成一個(gè)表結(jié)構(gòu)文件studstr,然后用顯示其結(jié)構(gòu)

USEStudentCOPYSTRUCTURETOstudstrEXTENDEDUSEstudstrLISTSTRUCTURE6/4/202331(2)將表結(jié)構(gòu)文件還原成表結(jié)構(gòu)

格式:CREATE<表文件名>FROM<表結(jié)構(gòu)文件>功能:將表結(jié)構(gòu)文件還原成為普通表文件。新建的表文件是一個(gè)只有結(jié)構(gòu)部分而沒(méi)有記錄的表結(jié)構(gòu)框架。將上例中的studstr表結(jié)構(gòu)文件還原生成一個(gè)新的表文件Student1CREATEStudent1FROMstudstrUSEStudent1LISTSTRUCTURE

返回6/4/2023323.5記錄基本處理方法3.5.1表的打開(kāi)與關(guān)閉返回退出3.5.2錄入記錄3.5.3記錄指針定位3.5.4在表中插入記錄3.5.5顯示表中的記錄3.5.6修改表中的記錄3.5.7刪除記錄6/4/2023333.5.1表的打開(kāi)與關(guān)閉使用任何一個(gè)表以前,都必須首先打開(kāi)表。格式:USE<表文件名>[EXCLUSIVE][SHARED]功能:打開(kāi)指定的表文件。參數(shù)描述:<表文件名>:指定要打開(kāi)的表的名稱。[EXCLUSIVE]:在網(wǎng)絡(luò)上以獨(dú)占的方式打開(kāi)表。[SHARED]:在網(wǎng)絡(luò)上以共享的方式打開(kāi)表。■打開(kāi)表時(shí)若表含有備注型字段,則FPT文件也同時(shí)被打開(kāi)。■每個(gè)表被打開(kāi)時(shí)均賦于一個(gè)別名。若省略ALIAS<別名>,則其別名與主文件名相同。■若不選擇任何參數(shù),表示關(guān)閉當(dāng)前工作區(qū)中已打開(kāi)的表。■在任一時(shí)刻,每個(gè)工作區(qū)最多允許打開(kāi)一個(gè)表。如果指定工作區(qū)已有表打開(kāi),在打開(kāi)新的表時(shí),系統(tǒng)總是先自動(dòng)關(guān)閉原來(lái)打6/4/202334打開(kāi)的表。■打開(kāi)表時(shí),記錄指針指向第一條記錄。

3.5.2錄入記錄表的數(shù)據(jù)錄入有多種方法:第一種方法是在表結(jié)構(gòu)建立時(shí)錄入數(shù)據(jù);第二種方法是在表結(jié)構(gòu)建成并存盤(pán)關(guān)閉了“表設(shè)計(jì)器”之后,利用命令向表中追加記錄。格式:APPEND[BLANK]

參數(shù)描述:[BLANK]:在當(dāng)前表的末尾添加一條空記錄。功能:在表的末尾添加一個(gè)或多個(gè)新記錄。說(shuō)明:■可以在只有表結(jié)構(gòu)而沒(méi)有記錄的空表中添加記錄,也可以在已經(jīng)錄入數(shù)據(jù)的表中的尾部追加記錄;■它可以向當(dāng)前表的尾部追加一條或多條新記錄。省略可選項(xiàng),返回6/4/202335則在當(dāng)前表的尾部追加任意新記錄,追加記錄的方法及操作與用CREATE命令建立表時(shí)輸入數(shù)據(jù)的方法相同;■當(dāng)發(fā)出APPEND或APPENDBLANK命令,并且在選定工作區(qū)中沒(méi)有打開(kāi)的表時(shí),將顯示一個(gè)“打開(kāi)”對(duì)話框,我們可以在對(duì)話框中選擇一個(gè)要添加記錄的表。APPEND命令打開(kāi)一個(gè)編輯窗口,我們可以在其中輸入一個(gè)或多個(gè)新記錄。增加新記錄后,VFP將自動(dòng)修改打開(kāi)的所有索引。打開(kāi)瀏覽窗口后通過(guò)追加方式添加記錄方法:在項(xiàng)目管理器中選定一個(gè)要添加記錄的表,然后單擊【瀏覽】,然后在系統(tǒng)菜單中選擇【顯示】|【追加方式】。添加記錄的數(shù)據(jù)返回6/4/2023363.5.3記錄指針定位記錄定位就是將記錄指針移到指定的記錄上,記錄指針指向的記錄稱為當(dāng)前記錄。VFP提供了下列絕對(duì)定位和相對(duì)定位兩類命令。1、記錄指針的絕對(duì)定位

格式一:GOTO[RECORD<數(shù)值表達(dá)式>]/TOP/BOTTOM

格式二:GO[RECORD<數(shù)值表達(dá)式>]/TOP/BOTTOM格式三:

<數(shù)值表達(dá)式>功能:將記錄指針直接定位到指定的記錄上。參數(shù)描述:<數(shù)值表達(dá)式>:指定一個(gè)物理記錄號(hào),記錄指針移至該記錄上。TOP:將記錄指針定位在表的第一個(gè)記錄上。[BOTTOM]:將記錄指針定位在表的最后一個(gè)記錄上。說(shuō)明:

RECORD可省略。<數(shù)值表達(dá)式>的值必須大于0,且不大于當(dāng)前表文件的記錄個(gè)數(shù)。6/4/2023372、記錄指針的相對(duì)定位

相對(duì)定位與當(dāng)前記錄有關(guān),它是把記錄指針從當(dāng)前位置作相對(duì)移動(dòng)。格式:SKIP[<數(shù)值表達(dá)式>]

功能:將記錄指針向前或向后作相對(duì)若干條記錄的移動(dòng)。參數(shù)描述:<數(shù)值表達(dá)式>:指定記錄指針作相對(duì)移動(dòng)的記錄數(shù)據(jù)。說(shuō)明:1、移動(dòng)的記錄數(shù)等于<數(shù)值表達(dá)式>的值,其值為正數(shù)時(shí),記錄指針向下移動(dòng),當(dāng)<數(shù)值表達(dá)式>是負(fù)數(shù)時(shí),記錄指針向上移動(dòng)。2、省略選擇項(xiàng)<數(shù)值表達(dá)式>,約定為向下移動(dòng)一條記錄,即SKIP等價(jià)于SKIP1。返回6/4/2023383.5.4在表中插入記錄1、INSRET命令

格式:INSERT[BLANK][BEFORE]功能:在當(dāng)前記錄之前或之后插入一條或多條新記錄。參數(shù)描述:選擇[BEFORE]子句,新記錄插在當(dāng)前記錄之前,當(dāng)前記錄和其后的記錄向后順序移動(dòng);否則插在當(dāng)前記錄之后,當(dāng)前記錄之后的記錄順序向后移動(dòng)。選擇[BLANK]子句,則插入一條空記錄。說(shuō)明:1、省略所有可選項(xiàng),則在當(dāng)前記錄之后插入新記錄。2、在VFP中,如果數(shù)據(jù)庫(kù)具有表緩沖或行緩沖功能,則INSERT命令不能用于該數(shù)據(jù)庫(kù)的表;對(duì)于具有參照完整性規(guī)則的表也不能使用INSERT命令。6/4/2023392、INSERT——SQL命令格式一:INSERTINTO<表文件名>[(<字段名1>[,<字段名2>…])]VALUES(<表達(dá)式1>[,<表達(dá)式2>…])格式二:INSERTINTO<表文件名>FROMARRAY<數(shù)組名>/FROMMEMVAR功能:在表尾追加一個(gè)包含指定字段值的記錄。參數(shù)描述:<表文件名>:指定要追加記錄的表文件名。<表文件名>中可以包含路徑,也可以是一個(gè)名稱表達(dá)式。[(<字段名1>[,<字段名2>…])]:指定要插入值的字段名。[VALUES(<表達(dá)式1>[,<表達(dá)式2>…])]:新插入記錄的字段值。[FROMARRAY<數(shù)組名>]:指定一個(gè)數(shù)組,數(shù)組中的數(shù)據(jù)將被插入到新記錄中。FROMMEMVAR:把內(nèi)存變量的內(nèi)容插入到與它同名的字段中。說(shuō)明:

6/4/2023401、如果<表文件名>指定的表沒(méi)有打開(kāi),則VFP先在一個(gè)新工作區(qū)中以獨(dú)占方式打開(kāi)該表,然后再把新記錄追加到表中,此時(shí)并未選定該工作區(qū),選定的仍然是當(dāng)前的工作區(qū)。2、如果省略了VALUES子句后的字段名,那么,必須按照定義表結(jié)構(gòu)時(shí)的順序來(lái)指定字段值。3、使用FROMARRAY<數(shù)組名>子句時(shí),從<數(shù)組名>指定數(shù)組的第一個(gè)數(shù)組元素開(kāi)始,數(shù)組中的每一個(gè)元素的內(nèi)容依次插入到新記錄的對(duì)應(yīng)字段中。第一個(gè)數(shù)組元素的內(nèi)容插入到新記錄的第一個(gè)字段,第二個(gè)元素的內(nèi)容插入到新記錄的第二個(gè)字段,依此類推。4、當(dāng)使用FROMMEMVAR子句時(shí),如果某一字段不存在同名的內(nèi)存變量,則該字段為空。使用INSERT-——SQL命令向Student表中追加一條新記錄

學(xué)號(hào)姓名性別出生日期班級(jí)宿舍電話99045002張中強(qiáng)男03/22/8099電子3-31123563066/4/202341INSERTINTOStudent(學(xué)號(hào),姓名,性別,出生日期,班級(jí),宿舍,;)VALUES("99045002","張中強(qiáng)","男",{^1980/03/22},;"99電子","3-311","2356306")3、從另一個(gè)表中成批追加記錄格式:APPENDFROM<表文件名>/?[FIELDS<字段列表>][FOR<條件>]

功能:從一個(gè)表中讀入記錄,追加到當(dāng)前表的尾部。參數(shù)描述:<表文件名>:指定要向當(dāng)前表中追加記錄的數(shù)據(jù)源。[<?>]:顯示“打開(kāi)”對(duì)話框,從中選擇從哪個(gè)表中讀入數(shù)據(jù)。[FIELDS<字段列表>]:指定添加哪些字段數(shù)據(jù)。[FOR<條件>]:為當(dāng)前選定表中每一條<條件>為“真”的記錄追加新記錄,直至達(dá)到當(dāng)前選定表的末尾。如果省略FOR子句,則整個(gè)源文件記錄都追加到當(dāng)前表中。返回6/4/2023423.5.5顯示表中的記錄格式一:LIST[OFF][FIELDS<字段名列表>][<范圍>][FOR<條件>][WHILE<條件>][TOPRINTER[PROMPT]/TOFILE<文本文件名>]

格式二:DISPLAY[OFF][FIELDS<字段名列表>][<范圍>][FOR<條件>][WHILE<條件>][TOPRINTER[PROMPT]/TOFILE<文本文件名>]功能:顯示當(dāng)前表中的全部或部分記錄和數(shù)據(jù)。參數(shù)描述:[OFF]:使用OFF時(shí),不顯示記錄號(hào),否則顯示記錄號(hào)。[<范圍>]:范圍為可選項(xiàng),選擇時(shí)為ALL、RECORD(N)、[NEXT(N)、REST中的一個(gè)參數(shù),表示記錄顯示的范圍。FIELDS<字段名列表>:若省略<字段名表列>,則顯示當(dāng)前表中的所有字段,否則顯示指定的字段。如果備注字段名出現(xiàn)在<字段名表列>中,則它的內(nèi)容按50個(gè)字符列寬顯示,6/4/202343[FOR<條件>/WHILE<條件>]:該子句用于有選擇地顯示某些記錄,省略時(shí)則顯示<范圍>限定的全部記錄。[TOPRINTER[PROMPT]/TOFILE<文本文件名>]:指定記錄列表的輸出方向。TOPRINTER[PROMPT]指定輸出到打印機(jī)。[PROMPT]參數(shù)的使用方法同前。TOFILE<文本文件名>指定輸出到所指定的文本文件中。LIST和DISPLAY的區(qū)別:(1)DISPLAY每顯示一屏記錄時(shí)暫停一次,按任意鍵后繼續(xù)顯示剩余的記錄,而LIST沒(méi)有周期性暫停,連續(xù)向下顯示,直到記錄顯示完畢為止。(2)若省略所有可選項(xiàng),則DISPLAY命令顯示當(dāng)前記錄,即范圍為NEXT1,而LIST命令顯示全部記錄,即范圍為ALL。返回6/4/2023443.5.6修改表中的記錄1、全屏幕編輯命令(1)利用菜單瀏覽和修改表中的數(shù)據(jù)

第一步:在項(xiàng)目管理器中選擇【數(shù)據(jù)】選項(xiàng)卡第二步:在數(shù)據(jù)庫(kù)中選擇一個(gè)表第三步:?jiǎn)螕繇?xiàng)目管理器中的【瀏覽】按鈕6/4/202345VFP系統(tǒng)打開(kāi)全屏幕瀏覽窗口第四步:在瀏覽窗口中修改數(shù)據(jù)記錄標(biāo)志位{當(dāng)前記錄標(biāo)志刪除標(biāo)志位關(guān)閉按鈕第五步:修改結(jié)束后單擊關(guān)閉按鈕關(guān)閉瀏覽窗口在瀏覽窗口中可以去除、恢復(fù)垂直分隔線,也可以改變字段的顯示寬度。6/4/202346(2)利用命令瀏覽和修改表中的數(shù)據(jù)

格式:BROWSE[FIELDS<字段名表>][LOCK<數(shù)據(jù)型表達(dá)式>][LAST][FOR<邏輯型表達(dá)式>]功能:在屏幕上打開(kāi)一個(gè)瀏覽窗口,在窗口中顯示表的記錄。參數(shù)描述:

[Fields<字段名表>]:指定在瀏覽窗口中顯示的表的字段。LOCK<數(shù)據(jù)型表達(dá)式>:將瀏覽窗口一分為二,指定在左窗口中顯示的字段數(shù)。LAST:按最后一次關(guān)閉瀏覽窗口的方式打開(kāi)瀏覽窗口。FOR<邏輯型表達(dá)式>:指定在瀏覽窗口中顯示的記錄所要求滿足的條件。說(shuō)明:1、BROWSE命令可以帶有很多任選項(xiàng),命令格式中只介紹了BROWSE命令的最基本的任選項(xiàng)。

6/4/2023472、在<字段名表>中,除了可以使用表所定義的字段以外,還可以使用計(jì)算字段。計(jì)算字段:就是由表中的字段組合成的合法的VFP的表達(dá)式。注意:計(jì)算字段的名稱不能與當(dāng)前表中的字段名同名,長(zhǎng)度不能超過(guò)10

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論