教學(xué)第3章pb中操縱數(shù)據(jù)庫課件_第1頁
教學(xué)第3章pb中操縱數(shù)據(jù)庫課件_第2頁
教學(xué)第3章pb中操縱數(shù)據(jù)庫課件_第3頁
教學(xué)第3章pb中操縱數(shù)據(jù)庫課件_第4頁
教學(xué)第3章pb中操縱數(shù)據(jù)庫課件_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章創(chuàng)建數(shù)據(jù)庫教學(xué)目標(biāo)教學(xué)重點教學(xué)過程第3章創(chuàng)建數(shù)據(jù)庫教學(xué)目標(biāo)1教學(xué)目標(biāo)學(xué)習(xí)和掌握數(shù)據(jù)庫管理的基礎(chǔ)知識能運用PowerBuilder9.0中的工具對數(shù)據(jù)庫進行操作能在程序中連接數(shù)據(jù)庫教學(xué)目標(biāo)學(xué)習(xí)和掌握數(shù)據(jù)庫管理的基礎(chǔ)知識2教學(xué)重點創(chuàng)建、刪除ASA本地數(shù)據(jù)庫連接數(shù)據(jù)庫操作數(shù)據(jù)庫教學(xué)重點創(chuàng)建、刪除ASA本地數(shù)據(jù)庫3教學(xué)過程數(shù)據(jù)庫概述數(shù)據(jù)庫面板創(chuàng)建ASA數(shù)據(jù)庫刪除ASA數(shù)據(jù)庫連接數(shù)據(jù)庫操作數(shù)據(jù)庫表教學(xué)過程數(shù)據(jù)庫概述4 PowerBuilder的最主要特色之一就是方便有效地訪問和管理數(shù)據(jù)庫。PB可以訪問幾乎所有的數(shù)據(jù)庫。PB使用數(shù)據(jù)庫管理器可以實現(xiàn)對數(shù)據(jù)庫的幾乎所有的操作。PB生成描述表特征的擴展屬性,并保存在數(shù)據(jù)庫中。 PowerBuilder的最主要特色之一就是方便有效地訪5數(shù)據(jù)庫概述PB9.0提供了ASA數(shù)據(jù)庫,ASA幾乎具備了現(xiàn)代數(shù)據(jù)庫的一切特征。在PB開發(fā)過程中,數(shù)據(jù)庫的操作一般有以下幾步:創(chuàng)建數(shù)據(jù)庫定義ODBC數(shù)據(jù)源(使用專用接口可不用定義ODBC數(shù)據(jù)源)定義DBProfile(開發(fā)環(huán)境需要,運行時不需要)連接數(shù)據(jù)庫數(shù)據(jù)庫概述PB9.0提供了ASA數(shù)據(jù)庫,ASA幾乎具備了現(xiàn)代6數(shù)據(jù)庫畫板Database畫板專門用來管理數(shù)據(jù)庫.包括創(chuàng)建和刪除ASA數(shù)據(jù)庫、連接數(shù)據(jù)庫、定義ODBC數(shù)據(jù)源、創(chuàng)建和管理表及數(shù)據(jù)等等。可以通過選擇“Tools”︱“DatabasePainter”命令來調(diào)用數(shù)據(jù)庫面板。在數(shù)據(jù)庫面板窗體中,包括了很多的視圖,這些視圖的功能如下所示:Objects視圖。此視圖列出了數(shù)據(jù)庫概要和結(jié)構(gòu)信息,對于活動的數(shù)據(jù)庫連接,還列出了同數(shù)據(jù)庫關(guān)聯(lián)的對象,顯示的信息由數(shù)據(jù)庫和用戶權(quán)限決定。ObjectLayout視圖。用于顯示表的圖形外觀。Columns視圖。用于創(chuàng)建或者修改數(shù)據(jù)表的列。ISQLSession視圖。用于建立、執(zhí)行和解釋SQL語句。ObjectDetails視圖。用于顯示對象的屬性,有些對象的屬性是只讀的,有些對象的屬性是可修改的。Results視圖。用網(wǎng)格、表或自由表單形式顯示數(shù)據(jù)。ActivityLog視圖。顯示執(zhí)行動作的SQL定義。ExtendedAttributes視圖。列出了連接數(shù)據(jù)庫里定義的顯示格式、編輯風(fēng)格以及有效性規(guī)則。數(shù)據(jù)庫畫板Database畫板專門用來管理數(shù)據(jù)庫.包括創(chuàng)建和73.1創(chuàng)建ASA數(shù)據(jù)庫從“Tools”菜單中選擇“DatabaseProfile…”菜單項或單擊工具欄(PowerBar)中的“DBProfile”圖標(biāo),或選擇菜單“File|New…|Database|DatabasePainter”,打開數(shù)據(jù)庫畫板,選擇ODBC項下的Utilities中的CreateASADatabase選項,打開創(chuàng)建數(shù)據(jù)庫對話框,在DatabaseName文本框中輸入數(shù)據(jù)庫文件所在位置及名稱;其余文本框按如下輸入。UserID:DBA(默認用戶名)Password:SQL(默認口令)UseTransactionLog復(fù)選框:選中該項,意味著準(zhǔn)備啟用日志文件。LogName(日志文件名):在該編輯框中輸入日志文件的文件名和所在的路徑,如果省略,則日志文件保存在與數(shù)據(jù)庫文件相同的目錄中。PageSize(頁面大小):可在下拉框中選擇數(shù)據(jù)庫的頁面大小,頁面越大對大型數(shù)據(jù)庫的運行月有利。3.1創(chuàng)建ASA數(shù)據(jù)庫從“Tools”菜單中選擇“Data8CollationSequence(整理順序):用于數(shù)據(jù)庫中的字符串比較。默認情況下,使用正常的ASCII順序。Encryptdatabse(保護數(shù)據(jù)庫):該選項用于保護數(shù)據(jù)庫不被非法訪問。保護數(shù)據(jù)庫后,文件壓縮功能將不能正常工作。CaseSensitiveValues(大小寫敏感選擇):如果選中,則數(shù)據(jù)庫中的表名、列名等名稱區(qū)分大小寫,否則不區(qū)分。JavaEnabled(Java使能):如果要在數(shù)據(jù)庫中使用Java功能,請選中該選項。BlankPadding(空白填充):該功能用來選擇在進行比較中是否忽略數(shù)據(jù)庫中的空白。默認情況下,不忽略。稍后,系統(tǒng)會創(chuàng)建數(shù)據(jù)庫,建立一個數(shù)據(jù)源與數(shù)據(jù)庫同名,并自動連接。CollationSequence(整理順序):用于數(shù)據(jù)庫93.2刪除ASA數(shù)據(jù)庫1、刪除數(shù)據(jù)庫文件:斷開將要刪除的數(shù)據(jù)庫的連接,點擊PowerBar上的DBProfile按鈕,出現(xiàn)數(shù)據(jù)庫描述文件畫板對話框,雙擊“DeleteASADatabase”選項,出現(xiàn)刪除數(shù)據(jù)庫對話框。選擇要刪除的數(shù)據(jù)庫文件,點擊“打開”按鈕。這樣數(shù)據(jù)庫文件就被刪除了。2、刪除數(shù)據(jù)庫相應(yīng)的數(shù)據(jù)源雙擊“ODBCAdministrator”選項,選擇所要刪除的數(shù)據(jù)源名稱(默認是數(shù)據(jù)庫名稱),點擊“Remove”選項。3、刪除數(shù)據(jù)庫配置文件選擇數(shù)據(jù)庫配置文件名,單擊【Delete】按鈕。

完成了上述工作,數(shù)據(jù)庫文件就被刪除了。3.2刪除ASA數(shù)據(jù)庫1、刪除數(shù)據(jù)庫文件:103.3PB與數(shù)據(jù)庫的連接 1、創(chuàng)建ODBC數(shù)據(jù)源 Pb是通過數(shù)據(jù)源來連接數(shù)據(jù)庫的。創(chuàng)建ODBC數(shù)據(jù)源,可以在Windows控制面板中的ODBC數(shù)據(jù)源來創(chuàng)建,也可在Pb數(shù)據(jù)庫畫板的Objects子窗口中創(chuàng)建。 雙擊“ODBCAdministrator”選項,在出現(xiàn)的對話框中點擊“Add”按鈕,選擇“AdeptiveServerAnywhere8.0”,點擊“完成”按鈕,出現(xiàn)輸入數(shù)據(jù)源參數(shù)對話框。 在“ODBC”標(biāo)簽中,輸入數(shù)據(jù)源名稱Datasourcename,一般采用所創(chuàng)建的數(shù)據(jù)庫名稱。 在Login標(biāo)簽中,UserID:之后輸入“dba”,在Password:之后輸入“sql”。 在Database標(biāo)簽中,Databasefile之后輸入數(shù)據(jù)庫文件所在的位置及文件名。

2、刪除Odbc數(shù)據(jù)源 在ODBC數(shù)據(jù)源管理器中,選中要刪除的數(shù)據(jù)源,然后單擊“刪除”按鈕。刪除數(shù)據(jù)源不會影響物理數(shù)據(jù)庫。3.3PB與數(shù)據(jù)庫的連接 1、創(chuàng)建ODBC數(shù)據(jù)源113.配置DBProfile 在Pb的開發(fā)環(huán)境下操作數(shù)據(jù)庫,需要創(chuàng)建和配置DBProfile,它指明了使用哪一個數(shù)據(jù)源。在用戶的應(yīng)用程序中不需要DBProfile。 在數(shù)據(jù)庫畫板中,選擇“ODBODBC”,點擊右鍵選擇“NewProfile”,出現(xiàn)定義數(shù)據(jù)源配置文件對話框,在ProfileName之后輸入名稱,一般與數(shù)據(jù)庫名稱一致;在DataSource之后選擇剛剛建好數(shù)據(jù)源的名稱;在UserID之后輸入“dba”;在Password之后輸入“sql”,單擊【OK】按鈕即可。 此時在ODBC項下就會出現(xiàn)與數(shù)據(jù)庫同名的配置文件的名稱。4.刪除DBProfile 在數(shù)據(jù)庫畫板中,選中要刪除的DBProfile,選擇delete。3.配置DBProfile124、連接數(shù)據(jù)庫

選擇數(shù)據(jù)庫配置文件名稱雙擊之,就會連接上數(shù)據(jù)庫。

注意:同一物理數(shù)據(jù)庫,不能同時有兩個連接,但同一時刻,可以連接多個不同的物理數(shù)據(jù)庫。5、斷開連接的數(shù)據(jù)庫

第3章pb中操縱數(shù)據(jù)庫課件136、連接數(shù)據(jù)庫失敗與Log文件

在連接已存在的數(shù)據(jù)庫時,若該數(shù)據(jù)庫在創(chuàng)建時輸入了log文件的路徑和名稱,而連接時沒有提供創(chuàng)建數(shù)據(jù)庫時log文件的路徑,或log文件發(fā)生錯誤,這時就會出現(xiàn)連接失敗,這里提供一種補救措施。1)在寫字板中打開所要連接的數(shù)據(jù)庫文件如exercise.db,查找log,這時能找到所創(chuàng)建的LOG文件所在的正確位置,如:d:\PowerBuilder\exercise.log。2)在上面位置創(chuàng)建文件夾,若文件夾已存在,則刪除文件夾下面的log文件。3)在PowerBuilder中,重新連接數(shù)據(jù)庫,這時數(shù)據(jù)庫文件就會連接成功。

6、連接數(shù)據(jù)庫失敗與Log文件143.4創(chuàng)建表3.4.1數(shù)據(jù)庫畫板簡介3.4.2創(chuàng)建表

表是在數(shù)據(jù)庫中創(chuàng)建的,在創(chuàng)建表之前,要先連接上數(shù)據(jù)庫。在數(shù)據(jù)庫畫板中,選擇“Tables”點擊右鍵,選擇“NewTable”,依次輸入各列的列名、數(shù)據(jù)類型、寬度、小數(shù)位數(shù)、是否為空、默認值。各列輸入完成后,選擇菜單【File|Save】,輸入表名,單擊【OK】按鈕。3.4創(chuàng)建表3.4.1數(shù)據(jù)庫畫板簡介15 定義表結(jié)構(gòu),需要輸入列名、列的類型、列的寬度、小數(shù)位數(shù)、是否為空、默認值等信息。 列名應(yīng)符合標(biāo)識符規(guī)則。例:創(chuàng)建一個班級表的depart和學(xué)生表student。班級表列名數(shù)據(jù)類型寬度null注釋ClassChar10No班級Boy_numIntegerYes男生人數(shù)Girl_numIntegerYes女生人數(shù)MonitorChar15Yes班長teacherChar15Yes班主任學(xué)生表IdChar10No學(xué)號NameChar15Yes姓名SexChar2Yes性別ClassChar10Yes所在班級AgeIntegerYes年齡MathIntegerYes數(shù)學(xué)成績chineseIntegerYes語文成績 定義表結(jié)構(gòu),需要輸入列名、列的類型、列的寬度、小數(shù)位數(shù)、163.4.3修改表1、修改表的定義修改表的定義包括插入一個新列,刪除列或修改某列的定義。2、修改表的基本屬性可以修改表的注釋、數(shù)據(jù)列的字體、標(biāo)題字體、列標(biāo)簽字體等內(nèi)容。1)在Datebase畫板中,選擇要設(shè)置屬性的表,點擊右鍵,在彈出的菜單中選擇Properties菜單項2)彈出Properties對話框,其中有四個標(biāo)簽General:設(shè)置表的注釋信息。DataFont:定義數(shù)據(jù)庫畫板中顯示數(shù)據(jù)的字體。HeadingFont:定義數(shù)據(jù)庫畫板中顯示列標(biāo)題的字體。LabelFont:定義數(shù)據(jù)庫畫板中數(shù)據(jù)以FreeForm格式顯示時,每個標(biāo)簽的字體。3.4.3修改表1、修改表的定義173、修改表的擴展屬性在“ExtendedAttributes”視圖中,可以修改表的擴展屬性包括標(biāo)的顯示格式、編輯風(fēng)格和有效性驗證規(guī)則,可以修改和刪除,也可以新建。3、修改表的擴展屬性18在數(shù)據(jù)庫畫板中,可以為表中的每個列定義多個屬性,選擇要設(shè)置屬性的列右擊,選擇Properties菜單項,這時彈出的畫面中有5個標(biāo)簽頁。

1)General標(biāo)簽頁該頁中只有一項comments用戶可以輸入,輸入的內(nèi)容表示列的注釋。

2)Headers標(biāo)簽頁Label后面的內(nèi)容是以后制作數(shù)據(jù)窗口對象時該列的默認標(biāo)簽,在沒有進行修改之前,默認值為原來的字段名。制作數(shù)據(jù)窗口對象,一般希望標(biāo)簽為漢字,此時應(yīng)輸入該字段對應(yīng)的漢字。heading后面的內(nèi)容是顯示表中數(shù)據(jù)時該列的標(biāo)題,此處在沒有進行修改之前,默認值為原來的字段名,但以后顯示表中的數(shù)據(jù)時,一般希望是漢字標(biāo)題,此時應(yīng)輸入該字段對應(yīng)的漢字。4、修改列的屬性在數(shù)據(jù)庫畫板中,可以為表中的每個列定義多個屬性,選擇要設(shè)置屬193)Display標(biāo)簽頁 數(shù)據(jù)庫中的數(shù)據(jù)被檢索出來之后,用系統(tǒng)默認的格式進行顯示。對用戶來說,都希望使用自己喜歡的格式進行顯示,這時可從系統(tǒng)提供的格式中進行選擇,也可根據(jù)需要設(shè)定自己的格式。①創(chuàng)建一種新的顯示格式

選擇View菜單下的ExtendedAttributes選項,點擊DisplayFormats前面的+號,可以看到系統(tǒng)已經(jīng)定義的20種格式,若要使用其它格式,需要重新定義。定義新格式的方法:選擇DisplayFormats后,點擊右鍵,選擇New,在出現(xiàn)的界面中,在StyleName之后輸入所要定義的格式名稱,在DataType后面輸入所要定義的格式屬于什么類型,在Format后面輸入所要定義的新格式,也可以選擇系統(tǒng)已有的格式,輸入完成之后就完成了對格式的定義。②將新格式嵌入到字段中 選擇設(shè)置顯示格式的字段右擊,選擇Properties后,選擇Display標(biāo)簽,出現(xiàn)屬性對話框,在DisplayFormat后面選擇用戶希望的顯示方式。③五種數(shù)據(jù)類型的顯示格式 PowerBuilder支持五種類型的顯示格式:字符串(String)、數(shù)字型(Number)、日期型(Date)、時間型(Time)、日期時間型(DateTime),這些類型的數(shù)據(jù)在顯示時是以掩碼的方式來表示的,不同類型的數(shù)據(jù)有不同的掩碼,遵循一定的規(guī)則。

3)Display標(biāo)簽頁204)Validation標(biāo)簽頁 該標(biāo)簽頁用來定義列數(shù)據(jù)的有效性,只有符合有效性的數(shù)據(jù)才能被存儲,否則系統(tǒng)認為是非法數(shù)據(jù)。給某列定義有效性,要經(jīng)過以下步驟:①定義有效性名稱、類型 選擇View菜單下的ExtendedAttributes選項,右擊ValidationRulers,選擇New,出現(xiàn)定義有效性規(guī)則對話框,在ValidationName后面輸入有效性名稱,DataType后面選擇有效性類型,在Message后面輸入當(dāng)不符合有效性規(guī)則時出現(xiàn)的信息。②定義有效性規(guī)則

在定義有效性規(guī)則對話框中,選擇Definition標(biāo)簽后,單擊Match按鈕,在AvailablePattern框中選擇相應(yīng)規(guī)則,點擊【OK】按鈕,存盤。③將有效性規(guī)則嵌入到某列中 打開表中相應(yīng)字段的屬性框,選擇Validation標(biāo)簽,在ValidationRulers后面選擇定義的有效性規(guī)則即可。4)Validation標(biāo)簽頁215)EditStyle標(biāo)簽頁

PowerBuilder提供了6種編輯格式,分別是:編輯框(Edit)下拉式列表框(DropDownListBox)復(fù)選框(CheckBox)單選鈕(RadioButton)編輯掩碼框(EditMask)下拉式數(shù)據(jù)窗口(DropDownDW)。5)EditStyle標(biāo)簽頁223.4.4主鍵管理 關(guān)鍵字包括主關(guān)鍵字、外關(guān)鍵字,關(guān)鍵字是針對一個表來定義的。 在PowerBuilder中,要對表進行操作,如添加記錄、刪除記錄、將記錄存盤等,需要事先給表定義主關(guān)鍵字,否則表的某些操作不可執(zhí)行。1.定義主關(guān)鍵字 主關(guān)鍵字就是唯一確定不重復(fù)記錄的字段或字段組合。主關(guān)鍵字一定是不可空字段。

選擇要定義關(guān)鍵字的表,點擊右鍵,選擇【New|PrimaryKey】,在出現(xiàn)的畫面中選擇主關(guān)鍵字字段,之后存盤。3.4.4主鍵管理 關(guān)鍵字包括主關(guān)鍵字、外關(guān)鍵字,關(guān)鍵字23 表的外關(guān)鍵字用來描述兩個表之間的相互關(guān)系,某個表的外鍵一定是另一個表的主鍵。(1)選擇要定義外鍵的表,點擊右鍵,選擇【New|ForeignKey】,出現(xiàn)定義外鍵對話框。(2)在General標(biāo)簽中,Table后面自動顯示剛剛選擇的要定義外鍵的表名,在ForeignKey后面輸入要定義的外鍵名稱;在Columns后面選擇外鍵字段,此時系統(tǒng)自動在Order后面顯示選擇的外鍵字段。

(3)在PrimaryKey標(biāo)簽的Table后面選擇要關(guān)聯(lián)的表名,系統(tǒng)自動顯示Columns、Order兩項內(nèi)容。

(4)在Rules標(biāo)簽中,選擇刪除主鍵表中的行時,要遵循的完整性規(guī)則。2.定義外關(guān)鍵字 表的外關(guān)鍵字用來描述兩個表之間的相互關(guān)系,某個表的外鍵一243.4.5設(shè)置索引索引是在數(shù)據(jù)庫中實現(xiàn)表中數(shù)據(jù)邏輯排序的方法,建立索引的列可以是一個列,也可以是多個列的組合。選擇要定義索引的表,點擊右鍵,選擇【New|Index】,在出現(xiàn)的畫面中選擇索引字段,之后存盤。3.4.5設(shè)置索引索引是在數(shù)據(jù)庫中實現(xiàn)表中數(shù)據(jù)邏輯排序的方法253.4.6刪除表

3.4.7數(shù)據(jù)瀏覽、修改

選擇要顯示的表名,點擊右鍵,選擇菜單中的EditData,彈出有三種數(shù)據(jù)顯示風(fēng)格的菜單。其中:Grid:網(wǎng)格顯示風(fēng)格Tabular:列表顯示風(fēng)格Freefrom:自由顯示風(fēng)格1檢索數(shù)據(jù)

在表中記錄顯示的情況下,要重新檢索表中數(shù)據(jù),可按Retrieve按鈕。

2修改、添加、刪除數(shù)據(jù)、和存儲數(shù)據(jù)修改數(shù)據(jù):在原有記錄上直接修改。插入記錄:選擇位置,點擊InsertRow按鈕插入一條空白記錄,然后輸入數(shù)據(jù)。刪除數(shù)據(jù):選擇刪除行,點擊DeleteRow按鈕刪除一條記錄。存儲數(shù)據(jù):點擊SaveChange按鈕將數(shù)據(jù)存盤。3.4.6刪除表

3.4.7數(shù)據(jù)瀏覽、修改選擇要顯示的263.4.8數(shù)據(jù)的導(dǎo)入和導(dǎo)出導(dǎo)入:選中顯示數(shù)據(jù)的“Result視圖”,從ROWs菜單中選擇import菜單項。導(dǎo)入文件的文件類型可以是制表符分隔的文本文件、Dbase2或Dbase3文件、CSV文件或XML文件。注意:導(dǎo)入的文件的數(shù)據(jù)格式應(yīng)與表的定義格式一致。導(dǎo)出:從File菜單中選擇saveRowsAs菜單項??梢员4娴奈募愋陀蠧SV、Dbase2、Dbase3、DIF、Excel、HTMLTable、PowersoftReport、SQL等。3.4.8數(shù)據(jù)的導(dǎo)入和導(dǎo)出導(dǎo)入:選中顯示數(shù)據(jù)的“Resul273.4.9數(shù)據(jù)的排序與過濾

數(shù)據(jù)的排序1)顯示表中記錄。2)選擇菜單【Row|Sort】,出現(xiàn)排序?qū)υ捒颍岩判虻淖侄螐腟ourceData框拖到Columns框,拖動的順序就是表中數(shù)據(jù)排序的先后次序,排序的每個字段可以是遞增排序或遞減排序,若選中排序字段的Ascending項,則為遞增排序,反之沒選中,則按該字段遞減排序顯示。

3)定義完排序的字段或表達式后,單擊OK按鈕,就完成了排序工作。3.4.9數(shù)據(jù)的排序與過濾數(shù)據(jù)的排序282、數(shù)據(jù)的過濾1)顯示表中記錄。2)選擇菜單Row|Filter,出現(xiàn)定義過濾條件對話框,在對話框中輸入一個布爾型過濾表達式。3)單擊OK按鈕,則系統(tǒng)就會只顯示滿足過濾條件的記錄。2、數(shù)據(jù)的過濾1)顯示表中記錄。293.4.10查看行的信息

選擇菜單【Rows|Described】。在出現(xiàn)的對話框中可看到以下信息:1.從畫板中刪除但還沒有從數(shù)據(jù)庫中刪除的行數(shù)。2.在預(yù)覽中顯示的行數(shù)。3.被過濾的行數(shù)。4.在畫板中修改但還沒有在數(shù)據(jù)庫中修改的行數(shù)。3.4.10查看行的信息選擇菜單【Rows|Descri30第3章創(chuàng)建數(shù)據(jù)庫教學(xué)目標(biāo)教學(xué)重點教學(xué)過程第3章創(chuàng)建數(shù)據(jù)庫教學(xué)目標(biāo)31教學(xué)目標(biāo)學(xué)習(xí)和掌握數(shù)據(jù)庫管理的基礎(chǔ)知識能運用PowerBuilder9.0中的工具對數(shù)據(jù)庫進行操作能在程序中連接數(shù)據(jù)庫教學(xué)目標(biāo)學(xué)習(xí)和掌握數(shù)據(jù)庫管理的基礎(chǔ)知識32教學(xué)重點創(chuàng)建、刪除ASA本地數(shù)據(jù)庫連接數(shù)據(jù)庫操作數(shù)據(jù)庫教學(xué)重點創(chuàng)建、刪除ASA本地數(shù)據(jù)庫33教學(xué)過程數(shù)據(jù)庫概述數(shù)據(jù)庫面板創(chuàng)建ASA數(shù)據(jù)庫刪除ASA數(shù)據(jù)庫連接數(shù)據(jù)庫操作數(shù)據(jù)庫表教學(xué)過程數(shù)據(jù)庫概述34 PowerBuilder的最主要特色之一就是方便有效地訪問和管理數(shù)據(jù)庫。PB可以訪問幾乎所有的數(shù)據(jù)庫。PB使用數(shù)據(jù)庫管理器可以實現(xiàn)對數(shù)據(jù)庫的幾乎所有的操作。PB生成描述表特征的擴展屬性,并保存在數(shù)據(jù)庫中。 PowerBuilder的最主要特色之一就是方便有效地訪35數(shù)據(jù)庫概述PB9.0提供了ASA數(shù)據(jù)庫,ASA幾乎具備了現(xiàn)代數(shù)據(jù)庫的一切特征。在PB開發(fā)過程中,數(shù)據(jù)庫的操作一般有以下幾步:創(chuàng)建數(shù)據(jù)庫定義ODBC數(shù)據(jù)源(使用專用接口可不用定義ODBC數(shù)據(jù)源)定義DBProfile(開發(fā)環(huán)境需要,運行時不需要)連接數(shù)據(jù)庫數(shù)據(jù)庫概述PB9.0提供了ASA數(shù)據(jù)庫,ASA幾乎具備了現(xiàn)代36數(shù)據(jù)庫畫板Database畫板專門用來管理數(shù)據(jù)庫.包括創(chuàng)建和刪除ASA數(shù)據(jù)庫、連接數(shù)據(jù)庫、定義ODBC數(shù)據(jù)源、創(chuàng)建和管理表及數(shù)據(jù)等等??梢酝ㄟ^選擇“Tools”︱“DatabasePainter”命令來調(diào)用數(shù)據(jù)庫面板。在數(shù)據(jù)庫面板窗體中,包括了很多的視圖,這些視圖的功能如下所示:Objects視圖。此視圖列出了數(shù)據(jù)庫概要和結(jié)構(gòu)信息,對于活動的數(shù)據(jù)庫連接,還列出了同數(shù)據(jù)庫關(guān)聯(lián)的對象,顯示的信息由數(shù)據(jù)庫和用戶權(quán)限決定。ObjectLayout視圖。用于顯示表的圖形外觀。Columns視圖。用于創(chuàng)建或者修改數(shù)據(jù)表的列。ISQLSession視圖。用于建立、執(zhí)行和解釋SQL語句。ObjectDetails視圖。用于顯示對象的屬性,有些對象的屬性是只讀的,有些對象的屬性是可修改的。Results視圖。用網(wǎng)格、表或自由表單形式顯示數(shù)據(jù)。ActivityLog視圖。顯示執(zhí)行動作的SQL定義。ExtendedAttributes視圖。列出了連接數(shù)據(jù)庫里定義的顯示格式、編輯風(fēng)格以及有效性規(guī)則。數(shù)據(jù)庫畫板Database畫板專門用來管理數(shù)據(jù)庫.包括創(chuàng)建和373.1創(chuàng)建ASA數(shù)據(jù)庫從“Tools”菜單中選擇“DatabaseProfile…”菜單項或單擊工具欄(PowerBar)中的“DBProfile”圖標(biāo),或選擇菜單“File|New…|Database|DatabasePainter”,打開數(shù)據(jù)庫畫板,選擇ODBC項下的Utilities中的CreateASADatabase選項,打開創(chuàng)建數(shù)據(jù)庫對話框,在DatabaseName文本框中輸入數(shù)據(jù)庫文件所在位置及名稱;其余文本框按如下輸入。UserID:DBA(默認用戶名)Password:SQL(默認口令)UseTransactionLog復(fù)選框:選中該項,意味著準(zhǔn)備啟用日志文件。LogName(日志文件名):在該編輯框中輸入日志文件的文件名和所在的路徑,如果省略,則日志文件保存在與數(shù)據(jù)庫文件相同的目錄中。PageSize(頁面大?。嚎稍谙吕蛑羞x擇數(shù)據(jù)庫的頁面大小,頁面越大對大型數(shù)據(jù)庫的運行月有利。3.1創(chuàng)建ASA數(shù)據(jù)庫從“Tools”菜單中選擇“Data38CollationSequence(整理順序):用于數(shù)據(jù)庫中的字符串比較。默認情況下,使用正常的ASCII順序。Encryptdatabse(保護數(shù)據(jù)庫):該選項用于保護數(shù)據(jù)庫不被非法訪問。保護數(shù)據(jù)庫后,文件壓縮功能將不能正常工作。CaseSensitiveValues(大小寫敏感選擇):如果選中,則數(shù)據(jù)庫中的表名、列名等名稱區(qū)分大小寫,否則不區(qū)分。JavaEnabled(Java使能):如果要在數(shù)據(jù)庫中使用Java功能,請選中該選項。BlankPadding(空白填充):該功能用來選擇在進行比較中是否忽略數(shù)據(jù)庫中的空白。默認情況下,不忽略。稍后,系統(tǒng)會創(chuàng)建數(shù)據(jù)庫,建立一個數(shù)據(jù)源與數(shù)據(jù)庫同名,并自動連接。CollationSequence(整理順序):用于數(shù)據(jù)庫393.2刪除ASA數(shù)據(jù)庫1、刪除數(shù)據(jù)庫文件:斷開將要刪除的數(shù)據(jù)庫的連接,點擊PowerBar上的DBProfile按鈕,出現(xiàn)數(shù)據(jù)庫描述文件畫板對話框,雙擊“DeleteASADatabase”選項,出現(xiàn)刪除數(shù)據(jù)庫對話框。選擇要刪除的數(shù)據(jù)庫文件,點擊“打開”按鈕。這樣數(shù)據(jù)庫文件就被刪除了。2、刪除數(shù)據(jù)庫相應(yīng)的數(shù)據(jù)源雙擊“ODBCAdministrator”選項,選擇所要刪除的數(shù)據(jù)源名稱(默認是數(shù)據(jù)庫名稱),點擊“Remove”選項。3、刪除數(shù)據(jù)庫配置文件選擇數(shù)據(jù)庫配置文件名,單擊【Delete】按鈕。

完成了上述工作,數(shù)據(jù)庫文件就被刪除了。3.2刪除ASA數(shù)據(jù)庫1、刪除數(shù)據(jù)庫文件:403.3PB與數(shù)據(jù)庫的連接 1、創(chuàng)建ODBC數(shù)據(jù)源 Pb是通過數(shù)據(jù)源來連接數(shù)據(jù)庫的。創(chuàng)建ODBC數(shù)據(jù)源,可以在Windows控制面板中的ODBC數(shù)據(jù)源來創(chuàng)建,也可在Pb數(shù)據(jù)庫畫板的Objects子窗口中創(chuàng)建。 雙擊“ODBCAdministrator”選項,在出現(xiàn)的對話框中點擊“Add”按鈕,選擇“AdeptiveServerAnywhere8.0”,點擊“完成”按鈕,出現(xiàn)輸入數(shù)據(jù)源參數(shù)對話框。 在“ODBC”標(biāo)簽中,輸入數(shù)據(jù)源名稱Datasourcename,一般采用所創(chuàng)建的數(shù)據(jù)庫名稱。 在Login標(biāo)簽中,UserID:之后輸入“dba”,在Password:之后輸入“sql”。 在Database標(biāo)簽中,Databasefile之后輸入數(shù)據(jù)庫文件所在的位置及文件名。

2、刪除Odbc數(shù)據(jù)源 在ODBC數(shù)據(jù)源管理器中,選中要刪除的數(shù)據(jù)源,然后單擊“刪除”按鈕。刪除數(shù)據(jù)源不會影響物理數(shù)據(jù)庫。3.3PB與數(shù)據(jù)庫的連接 1、創(chuàng)建ODBC數(shù)據(jù)源413.配置DBProfile 在Pb的開發(fā)環(huán)境下操作數(shù)據(jù)庫,需要創(chuàng)建和配置DBProfile,它指明了使用哪一個數(shù)據(jù)源。在用戶的應(yīng)用程序中不需要DBProfile。 在數(shù)據(jù)庫畫板中,選擇“ODBODBC”,點擊右鍵選擇“NewProfile”,出現(xiàn)定義數(shù)據(jù)源配置文件對話框,在ProfileName之后輸入名稱,一般與數(shù)據(jù)庫名稱一致;在DataSource之后選擇剛剛建好數(shù)據(jù)源的名稱;在UserID之后輸入“dba”;在Password之后輸入“sql”,單擊【OK】按鈕即可。 此時在ODBC項下就會出現(xiàn)與數(shù)據(jù)庫同名的配置文件的名稱。4.刪除DBProfile 在數(shù)據(jù)庫畫板中,選中要刪除的DBProfile,選擇delete。3.配置DBProfile424、連接數(shù)據(jù)庫

選擇數(shù)據(jù)庫配置文件名稱雙擊之,就會連接上數(shù)據(jù)庫。

注意:同一物理數(shù)據(jù)庫,不能同時有兩個連接,但同一時刻,可以連接多個不同的物理數(shù)據(jù)庫。5、斷開連接的數(shù)據(jù)庫

第3章pb中操縱數(shù)據(jù)庫課件436、連接數(shù)據(jù)庫失敗與Log文件

在連接已存在的數(shù)據(jù)庫時,若該數(shù)據(jù)庫在創(chuàng)建時輸入了log文件的路徑和名稱,而連接時沒有提供創(chuàng)建數(shù)據(jù)庫時log文件的路徑,或log文件發(fā)生錯誤,這時就會出現(xiàn)連接失敗,這里提供一種補救措施。1)在寫字板中打開所要連接的數(shù)據(jù)庫文件如exercise.db,查找log,這時能找到所創(chuàng)建的LOG文件所在的正確位置,如:d:\PowerBuilder\exercise.log。2)在上面位置創(chuàng)建文件夾,若文件夾已存在,則刪除文件夾下面的log文件。3)在PowerBuilder中,重新連接數(shù)據(jù)庫,這時數(shù)據(jù)庫文件就會連接成功。

6、連接數(shù)據(jù)庫失敗與Log文件443.4創(chuàng)建表3.4.1數(shù)據(jù)庫畫板簡介3.4.2創(chuàng)建表

表是在數(shù)據(jù)庫中創(chuàng)建的,在創(chuàng)建表之前,要先連接上數(shù)據(jù)庫。在數(shù)據(jù)庫畫板中,選擇“Tables”點擊右鍵,選擇“NewTable”,依次輸入各列的列名、數(shù)據(jù)類型、寬度、小數(shù)位數(shù)、是否為空、默認值。各列輸入完成后,選擇菜單【File|Save】,輸入表名,單擊【OK】按鈕。3.4創(chuàng)建表3.4.1數(shù)據(jù)庫畫板簡介45 定義表結(jié)構(gòu),需要輸入列名、列的類型、列的寬度、小數(shù)位數(shù)、是否為空、默認值等信息。 列名應(yīng)符合標(biāo)識符規(guī)則。例:創(chuàng)建一個班級表的depart和學(xué)生表student。班級表列名數(shù)據(jù)類型寬度null注釋ClassChar10No班級Boy_numIntegerYes男生人數(shù)Girl_numIntegerYes女生人數(shù)MonitorChar15Yes班長teacherChar15Yes班主任學(xué)生表IdChar10No學(xué)號NameChar15Yes姓名SexChar2Yes性別ClassChar10Yes所在班級AgeIntegerYes年齡MathIntegerYes數(shù)學(xué)成績chineseIntegerYes語文成績 定義表結(jié)構(gòu),需要輸入列名、列的類型、列的寬度、小數(shù)位數(shù)、463.4.3修改表1、修改表的定義修改表的定義包括插入一個新列,刪除列或修改某列的定義。2、修改表的基本屬性可以修改表的注釋、數(shù)據(jù)列的字體、標(biāo)題字體、列標(biāo)簽字體等內(nèi)容。1)在Datebase畫板中,選擇要設(shè)置屬性的表,點擊右鍵,在彈出的菜單中選擇Properties菜單項2)彈出Properties對話框,其中有四個標(biāo)簽General:設(shè)置表的注釋信息。DataFont:定義數(shù)據(jù)庫畫板中顯示數(shù)據(jù)的字體。HeadingFont:定義數(shù)據(jù)庫畫板中顯示列標(biāo)題的字體。LabelFont:定義數(shù)據(jù)庫畫板中數(shù)據(jù)以FreeForm格式顯示時,每個標(biāo)簽的字體。3.4.3修改表1、修改表的定義473、修改表的擴展屬性在“ExtendedAttributes”視圖中,可以修改表的擴展屬性包括標(biāo)的顯示格式、編輯風(fēng)格和有效性驗證規(guī)則,可以修改和刪除,也可以新建。3、修改表的擴展屬性48在數(shù)據(jù)庫畫板中,可以為表中的每個列定義多個屬性,選擇要設(shè)置屬性的列右擊,選擇Properties菜單項,這時彈出的畫面中有5個標(biāo)簽頁。

1)General標(biāo)簽頁該頁中只有一項comments用戶可以輸入,輸入的內(nèi)容表示列的注釋。

2)Headers標(biāo)簽頁Label后面的內(nèi)容是以后制作數(shù)據(jù)窗口對象時該列的默認標(biāo)簽,在沒有進行修改之前,默認值為原來的字段名。制作數(shù)據(jù)窗口對象,一般希望標(biāo)簽為漢字,此時應(yīng)輸入該字段對應(yīng)的漢字。heading后面的內(nèi)容是顯示表中數(shù)據(jù)時該列的標(biāo)題,此處在沒有進行修改之前,默認值為原來的字段名,但以后顯示表中的數(shù)據(jù)時,一般希望是漢字標(biāo)題,此時應(yīng)輸入該字段對應(yīng)的漢字。4、修改列的屬性在數(shù)據(jù)庫畫板中,可以為表中的每個列定義多個屬性,選擇要設(shè)置屬493)Display標(biāo)簽頁 數(shù)據(jù)庫中的數(shù)據(jù)被檢索出來之后,用系統(tǒng)默認的格式進行顯示。對用戶來說,都希望使用自己喜歡的格式進行顯示,這時可從系統(tǒng)提供的格式中進行選擇,也可根據(jù)需要設(shè)定自己的格式。①創(chuàng)建一種新的顯示格式

選擇View菜單下的ExtendedAttributes選項,點擊DisplayFormats前面的+號,可以看到系統(tǒng)已經(jīng)定義的20種格式,若要使用其它格式,需要重新定義。定義新格式的方法:選擇DisplayFormats后,點擊右鍵,選擇New,在出現(xiàn)的界面中,在StyleName之后輸入所要定義的格式名稱,在DataType后面輸入所要定義的格式屬于什么類型,在Format后面輸入所要定義的新格式,也可以選擇系統(tǒng)已有的格式,輸入完成之后就完成了對格式的定義。②將新格式嵌入到字段中 選擇設(shè)置顯示格式的字段右擊,選擇Properties后,選擇Display標(biāo)簽,出現(xiàn)屬性對話框,在DisplayFormat后面選擇用戶希望的顯示方式。③五種數(shù)據(jù)類型的顯示格式 PowerBuilder支持五種類型的顯示格式:字符串(String)、數(shù)字型(Number)、日期型(Date)、時間型(Time)、日期時間型(DateTime),這些類型的數(shù)據(jù)在顯示時是以掩碼的方式來表示的,不同類型的數(shù)據(jù)有不同的掩碼,遵循一定的規(guī)則。

3)Display標(biāo)簽頁504)Validation標(biāo)簽頁 該標(biāo)簽頁用來定義列數(shù)據(jù)的有效性,只有符合有效性的數(shù)據(jù)才能被存儲,否則系統(tǒng)認為是非法數(shù)據(jù)。給某列定義有效性,要經(jīng)過以下步驟:①定義有效性名稱、類型 選擇View菜單下的ExtendedAttributes選項,右擊ValidationRulers,選擇New,出現(xiàn)定義有效性規(guī)則對話框,在ValidationName后面輸入有效性名稱,DataType后面選擇有效性類型,在Message后面輸入當(dāng)不符合有效性規(guī)則時出現(xiàn)的信息。②定義有效性規(guī)則

在定義有效性規(guī)則對話框中,選擇Definition標(biāo)簽后,單擊Match按鈕,在AvailablePattern框中選擇相應(yīng)規(guī)則,點擊【OK】按鈕,存盤。③將有效性規(guī)則嵌入到某列中 打開表中相應(yīng)字段的屬性框,選擇Validation標(biāo)簽,在ValidationRulers后面選擇定義的有效性規(guī)則即可。4)Validation標(biāo)簽頁515)EditStyle標(biāo)簽頁

PowerBuilder提供了6種編輯格式,分別是:編輯框(Edit)下拉式列表框(DropDownListBox)復(fù)選框(CheckBox)單選鈕(RadioButton)編輯掩碼框(EditMask)下拉式數(shù)據(jù)窗口(DropDownDW)。5)EditStyle標(biāo)簽頁523.4.4主鍵管理 關(guān)鍵字包括主關(guān)鍵字、外關(guān)鍵字,關(guān)鍵字是針對一個表來定義的。 在PowerBuilder中,要對表進行操作,如添加記錄、刪除記錄、將記錄存盤等,需要事先給表定義主關(guān)鍵字,否則表的某些操作不可執(zhí)行。1.定義主關(guān)鍵字 主關(guān)鍵字就是唯一確定不重復(fù)記錄的字段或字段組合。主關(guān)鍵字一定是不可空字段。

選擇要定義關(guān)鍵字的表,點擊右鍵,選擇【New|PrimaryKey】,在出現(xiàn)的畫面中選擇主關(guān)鍵字字段,之后存盤。3.4.4主鍵管理 關(guān)鍵字包括主關(guān)鍵字、外關(guān)鍵字,關(guān)鍵字53 表的外關(guān)鍵字用來描述兩個表之間的相互關(guān)系,某個表的外鍵一定是另一個表的主鍵。(1)選擇要定義外鍵

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論