數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì).ppt_第1頁
數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì).ppt_第2頁
數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì).ppt_第3頁
數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì).ppt_第4頁
數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì).ppt_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第八章 數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì),瞿斌 主講,第八章 數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì),VB6.0提供的數(shù)據(jù)庫訪問技術(shù)及可訪問的數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫應(yīng)用程序概述 數(shù)據(jù)控件Data和Adodc 數(shù)據(jù)列表框控件和數(shù)據(jù)組合框控件 數(shù)據(jù)網(wǎng)格控件DataGrid,DBGrid,8.1 VB6.0提供的數(shù)據(jù)庫訪問技術(shù)及可訪問的數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫訪問技術(shù) 1) 數(shù)據(jù)訪問對象DAO 2) 遠(yuǎn)程數(shù)據(jù)對象RDO 3) 開放式數(shù)據(jù)庫互連ODBC 4) ActiveX數(shù)據(jù)對象ADO 可訪問的數(shù)據(jù)庫 1 JET數(shù)據(jù)庫,即Microsoft Access 2 ISAM數(shù)據(jù)庫,如:dBase,F(xiàn)oxPro等 3 ODBC數(shù)據(jù)庫,凡是遵循OD

2、BC標(biāo)準(zhǔn)的客戶/服務(wù)器數(shù)據(jù)庫。如:Microsoft SQL Server、Oracle,數(shù)據(jù)庫系統(tǒng) DBS,一、數(shù)據(jù)庫系統(tǒng)(DataBase System, DBS)的組成,計(jì)算機(jī)硬件 Hardware,數(shù)據(jù)庫 Database,DB,數(shù)據(jù)庫管理系統(tǒng) Soft ware,應(yīng)用程序 Application,用戶 User,存儲(chǔ)數(shù)據(jù)庫及運(yùn)行DBMS的硬件資源,包括主機(jī)、存儲(chǔ)設(shè)備、IO通道等。,負(fù)責(zé)數(shù)據(jù)庫存取、維護(hù)和管理的軟件資源,以一定方式組織在一起、存儲(chǔ)在外部存儲(chǔ)設(shè)備上、能共享、與應(yīng)用程序獨(dú)立的相關(guān)數(shù)據(jù)集合,在DBMS基礎(chǔ)上,由用戶開發(fā)的、能處理特定業(yè)務(wù)的應(yīng)用程序,管理、開發(fā)、使用數(shù)據(jù)庫系統(tǒng)的

3、所有人員,數(shù)據(jù)庫管理員 應(yīng)用程序員 終端用戶,8.2 數(shù)據(jù)庫應(yīng)用程序概述,硬件,OS,語言編譯 DBMS,應(yīng)用程序,軟硬件的層次關(guān)系,8.2 數(shù)據(jù)庫應(yīng)用程序概述,二、數(shù)據(jù)庫的基本概念 數(shù)據(jù)庫的特點(diǎn) 數(shù)據(jù)結(jié)構(gòu)化 數(shù)據(jù)獨(dú)立性 數(shù)據(jù)共享 數(shù)據(jù)模型 層次模型 網(wǎng)狀模型 關(guān)系模型,8.2 數(shù)據(jù)庫應(yīng)用程序概述,3. 數(shù)據(jù)庫管理系統(tǒng)DBMS 數(shù)據(jù)描述語言DDL 數(shù)據(jù)操縱語言DML 數(shù)據(jù)庫管理功能 小型數(shù)據(jù)庫管理系統(tǒng):Access, dBase Btrieve, VFP, Paradox 大型數(shù)據(jù)庫管理系統(tǒng): SQL Server, SyBase, Oracle, IBM DB2,8.2 數(shù)據(jù)庫應(yīng)用程序概述,

4、三、結(jié)構(gòu)化的查詢語言SQL:定義、操縱、查詢 命令動(dòng)詞:Select, Update, Insert, Delete, Create, Drop 對象:數(shù)據(jù)庫、表、視圖、字段等 介詞子句:From, Into 限定符:where條件 或 on 條件 順序限定符:order by 或group by 如:Select 學(xué)號(hào),姓名,班級,出生日期 from stud Delete * from stud where 班級 = “信管001”,8.2 數(shù)據(jù)庫應(yīng)用程序概述,四、開放式數(shù)據(jù)庫連接ODBC簡介 ODBC是微軟提出的允許利用SQL語句查詢數(shù)據(jù)的一種標(biāo)準(zhǔn), 它可為數(shù)據(jù)庫應(yīng)用程序與數(shù)據(jù)庫建立連接

5、提供公共編程接口 ODBC的體系結(jié)構(gòu),8.2 數(shù)據(jù)庫應(yīng)用程序概述,ODBC數(shù)據(jù)源的創(chuàng)建和應(yīng)用,8.2 數(shù)據(jù)庫應(yīng)用程序概述,五、規(guī)劃和創(chuàng)建數(shù)據(jù)庫和表,8.3 數(shù)據(jù)控件Data和Adodc,一、Data控件的功能 建立應(yīng)用程序與數(shù)據(jù)庫的連接通道 二、 Data控件的主要任務(wù) 與本地或遠(yuǎn)程數(shù)據(jù)庫連接 基于SQL查詢, 打開指定的數(shù)據(jù)庫表或定義記錄集 傳送數(shù)據(jù)字段的值到綁定的控件上 根據(jù)綁定控件的數(shù)據(jù)變化,插入或更新數(shù)據(jù)庫記錄 捕獲訪問數(shù)據(jù)時(shí)出現(xiàn)的錯(cuò)誤 關(guān)閉數(shù)據(jù)庫,8.3 數(shù)據(jù)控件Data和Adodc,三、Data控件的主要屬性 Name: Data控件的名稱 DatabaseName:確定數(shù)據(jù)控件訪

6、問哪一個(gè)數(shù)據(jù)庫, 如: Data1.DatabaseName = “H:myvbTongxunlu.mdb” RecordSource:確定數(shù)據(jù)控件的記錄集,即:所要訪問的數(shù)據(jù)內(nèi)容。它可以是一個(gè)表名、存儲(chǔ)查詢名或SQL語句。 如: Data1.RecordSource = Register 或 Data1.RecordSource =“SELECT *FROM Register WHERE BIRTHDAY#1/1/1973#,8.3 數(shù)據(jù)控件Data和Adodc,Connect: 指定打開的數(shù)據(jù)庫類型,并且包括參數(shù),如用戶和口令等。 1) 打開Access數(shù)據(jù)庫(缺?。?CONNECT=“A

7、CCESS” 2) 打開ODBC數(shù)據(jù)庫 CONNECT=“ODBC;uid = 用戶名;pwd=口令; dsn =數(shù)據(jù)源名; Database=數(shù)據(jù)庫路徑;Driver = 驅(qū)動(dòng)程序名” RecordType: 確定記錄集Recordset對象的類型 0-Table 表 1-Dynaset 動(dòng)態(tài)集,數(shù)據(jù)庫表或查詢結(jié)果 2-Snapshot 快照類型,記錄集合的靜態(tài)副本,可用于查詢 和生成報(bào)表,8.3 數(shù)據(jù)控件Data和Adodc,四、 Data控件的記錄集RecordSet對象:數(shù)據(jù)庫表內(nèi)的記錄集合或查詢所得的記錄結(jié)果集合 1) 記錄集對象的賦值: Set Data1.Recordset =

8、MyRecordSet 2) 利用記錄集對象訪問某些字段 Data1.Recordset(“姓名”) = “李明” Data1.Recordset(“年齡”) = 23 Data1.RecordSet.Update,8.3 數(shù)據(jù)控件Data和Adodc,五、Data控件常用的數(shù)據(jù)綁定控件 綁定控件 可以綁定的字段數(shù)據(jù)類型 CheckBox 邏輯型或具有開關(guān)屬性的字段 Image 位圖文件或長二進(jìn)制型圖片文件字段 Label 數(shù)值、日期、字符串型字段 PictureBox 位圖文件或長二進(jìn)制型圖片文件字段 TextBox 數(shù)值、日期、字符串型字段 ComboBox 數(shù)值、日期、字符串型字段 Li

9、stBox 數(shù)值、日期、字符串型字段 OLE容器控件 照片、電子表格、Word文檔等OLE字段,8.3 數(shù)據(jù)控件Data和Adodc,數(shù)據(jù)綁定控件的數(shù)據(jù)識(shí)別屬性 DataChanged: 指示綁定控件內(nèi)顯示的數(shù)據(jù)是否發(fā)生變化 DataSource:指定要綁定的Data控件名 DataField:指定Data控件內(nèi)的有效字段 數(shù)據(jù)綁定控件應(yīng)用實(shí)例,8.3 數(shù)據(jù)控件Data和Adodc,六、Data控件操縱的數(shù)據(jù)集的常用方法和事件 AddNew方法:添加一個(gè)新記錄到數(shù)據(jù)庫中 注意:當(dāng)Data控件的EOFAction屬性設(shè)置為2時(shí), 若移動(dòng)數(shù)據(jù)超過最后的記錄時(shí),Data控件將自動(dòng)創(chuàng)建新記錄 Data

10、1.Recordset.AddNew Edit方法:編輯修改一條已經(jīng)存在的字段 Data1.Recordset.Edit ! ChineseName = “李明” !用于引導(dǎo)緩沖區(qū)記錄的字段名 ! OfficePhone = “ 80798461” Data1.RecordSet.Update Update方法:更新記錄集,若修改顯示在綁定控件內(nèi)的某條記錄的數(shù)據(jù)后,使用data控件向前向后移動(dòng),這是系統(tǒng)自動(dòng)調(diào)用Update方法處理已修改的記錄,8.3 數(shù)據(jù)控件Data和Adodc,Delete方法:刪除當(dāng)前記錄 Data1.Recordset.Delete MoveFirst, MoveLas

11、t, MoveNext, MovePrivous 方法:移動(dòng)當(dāng)前記錄 if Data1.Recordset.BOF Then MsgBox “前面沒有記錄”,48,”前移操作” Exit Sub Else Data1.Recordset.MovePrivous,8.3 數(shù)據(jù)控件Data和Adodc,FindFirst, FindLast, FindNext, FindPrivous方法:在記錄集內(nèi)查找記錄 Data1.Recordset.FindFirst “ChineseName= 李* ” Data1.Recordset.FindLast “ChineseName= 李* ” Data1.

12、Recordset.FindNext “ChineseName= 李* ” Data1.Recordset.FindPrivous “ChineseName= 李* ” Refresh方法:用于記錄集刷新,當(dāng)記錄集為查詢的結(jié)果集時(shí),如果結(jié)果集發(fā)生變化,需調(diào)用refresh方法關(guān)閉并重新打開結(jié)果集 Data1.RecordSource = select * from contact where ChineseName = & Text10.Text & “ Data1.Refresh,8.3 數(shù)據(jù)控件Data和Adodc,Seek方法:在表型記錄集中定位記錄 表名.seek 比較字符串 關(guān)鍵字值

13、1,關(guān)鍵字值2 使用書簽Bookmark移動(dòng)到指定的記錄位置 記錄集的Bookmark屬性主要保存當(dāng)前記錄指針 Dim myBookmark as Variant myBookmark = data1.Recordset.Bookmark Data1.Recordset.MoveFirst data1.Recordset.Bookmark = myBookmark,8.3 數(shù)據(jù)控件Data和Adodc,七、Adodc控件 Adodc是基于ADO對象的數(shù)據(jù)控件,使用方法與Data控件差不多,但Data是基于DAO的。 ADO可訪問本地?cái)?shù)據(jù)庫,也可訪問遠(yuǎn)程數(shù)據(jù)庫。ADO是以后發(fā)展的趨勢,將替代DA

14、O和RDO。 ADO(Active Data Objects):ADO 實(shí) 際 是 一 種 提 供 訪 問 各 種 數(shù) 據(jù) 類 型 的 連 接 機(jī) 制。 ADO 是 基 于OLE-DB 之 上 的 技 術(shù), 它 通 過 其 內(nèi) 部 的 屬 性 和 方 法 提 供 統(tǒng) 一 的 數(shù) 據(jù) 訪 問 接 口 方 法。不 止 適 合 于SQL Server、Oracle、Access 等 數(shù) 據(jù) 庫 應(yīng) 用 程 序, 也 適 合 于Excel 表 格、 文 本 文 件、 圖 形 文 件 和 無 格 式 的 數(shù) 據(jù) 文 件。 DAO(Data Access Objects): 是 一 種 面 向 對 象 的

15、 界 面 接 口。 通 過Jet 功 能 可 以 訪 問ISAM 數(shù) 據(jù) 庫, 使 用DAO/ ODBC Direct 功 能 可 以 實(shí) 現(xiàn) 遠(yuǎn) 程RDO 功 能。,8.3 數(shù)據(jù)控件Data和Adodc,1. Adodc控件的主要屬性 ConnectionString:設(shè)定與數(shù)據(jù)源連接的字符串。 ConnectionTimeout:等待連接成功的時(shí)間(秒)。超時(shí)將出錯(cuò)。 RecordSource:記錄集的數(shù)據(jù)源,指定要訪問的記錄集數(shù)據(jù)內(nèi)容。 CommandType:指明形成記錄集的命令的類型,1-adCmdText表示形成記錄集的是SQL命令,2-adCmdTable表示記錄集由表構(gòu)成,4-

16、adCmdStoredProc由存儲(chǔ)過程生成記錄集,8-adCmdUnknown未知命令類型。 MaxRecord:每次從數(shù)據(jù)庫中取的最大記錄數(shù)。 Mode:數(shù)據(jù)庫打開模式,0是未知;1是只讀;2是寫;3是讀寫;16是可共享讀寫;4是不可共享讀;8是不可共享寫;12是不共享。 RecordSet:記錄集。,8.3 數(shù)據(jù)控件Data和Adodc,ConnectionString屬性的設(shè)置-1:,8.3 數(shù)據(jù)控件Data和Adodc,ConnectionString 屬性的設(shè)置-2:,8.3 數(shù)據(jù)控件Data和Adodc,ConnectionString 屬性的設(shè)置-3:,8.3 數(shù)據(jù)控件Data

17、和Adodc,RecordSource屬性的設(shè)置,8.3 數(shù)據(jù)控件Data和Adodc,2. 可與Adodc綁定的控件 所有可與Data綁定的內(nèi)部控件如CheckBox, Image, Label, PictureBox , TextBox, ComboBox, ListBox, OLE容器控件 外部ActiveX控件: DBList, DBCombo,DataList, DataCombo, DataGrid,DataRepeater 注意: DataGrid只能與Adodc控件綁定, 而DBGrid只能與Data控件綁定,8.4數(shù)據(jù)列表框控件和數(shù)據(jù)組合框控件,數(shù)據(jù)列表框控件DBList,D

18、ataList 數(shù)據(jù)組合框控件 DBCombo, DataCombo 他們與內(nèi)部ListBox控件以及ComboBox控件的主要區(qū)別是: DBList, DBCombo是VB5.0中增加的ActiveX控件, DataList, DataCombo是VB6.0中增加的ActiveX控件 內(nèi)部ListBox、ComboBox控件必須通過AddItem方法來添加列表項(xiàng),而數(shù)據(jù)列表框控件和數(shù)據(jù)組合框控件可以通過被綁定的數(shù)據(jù)控件的記錄集自動(dòng)填充列表項(xiàng)目 (見例8-6),8.4數(shù)據(jù)列表框控件和數(shù)據(jù)組合框控件,一、數(shù)據(jù)列表框控件和數(shù)據(jù)組合框控件的主要屬性 Datasource:指定被綁定的數(shù)據(jù)控件的名稱

19、DataField:指定與Datasource對應(yīng)的記錄集中的字段 RowSource:指定列表項(xiàng)中數(shù)據(jù)的來源,它可與相應(yīng)的數(shù)據(jù)控件綁定 ListField:指定列表框中數(shù)據(jù)項(xiàng)的顯示內(nèi)容,它為RowSource對應(yīng)記錄集的某一個(gè)字段 BoundColumn: RowSource對應(yīng)的記錄集的某一個(gè)字段,該字段必須與DataField指定的字段類型相同,以便根據(jù)列表項(xiàng)的選擇更新DataField指定的字段值 ListFieldBoundColumn DataField 見例 8-2,8.4數(shù)據(jù)列表框控件和數(shù)據(jù)組合框控件,二、 DBList, DBCombo和DataList, DataCombo

20、 的主要區(qū)別 1) DataList, DataCombo既可與Data控件綁定,又可與Adodc控件綁定,但它們的RowSource, BoundColumn, ListField屬性必須由Adodc控件提供賦值 2) DBList, DBComboke 只能與Data控件綁定,且其RowSource, BoundColumn, ListField屬性只能由Data控件提供賦值。若DBList、DBCombo與Adodc控件綁定,其列表框的值將不能正確顯示。 示例見: 例8-2,8-3, 8-4, 8-5,8.5數(shù)據(jù)網(wǎng)格控件DataGrid和 DBGrid,一、數(shù)據(jù)網(wǎng)格控件DataGrid和

21、 DBGrid的主要功能 以網(wǎng)格表形式顯示被綁定數(shù)據(jù)控件中所對應(yīng)的記錄集內(nèi)容,且每個(gè)單元格都可編輯修改 二、數(shù)據(jù)網(wǎng)格控件DataGrid和 DBGrid的的主要差別 DataGrid只能與Adodc控件綁定 DBGrid只能和Data控件綁定,8.5數(shù)據(jù)網(wǎng)格控件DataGrid和 DBGrid,三、DataGrid和DBGrid的主要屬性 Datasource:指定被綁定的數(shù)據(jù)控件的名稱 Column對象屬性:設(shè)置網(wǎng)格控件各列的屬性,在窗體上選中數(shù)據(jù)網(wǎng)格控件,點(diǎn)擊鼠標(biāo)右鍵,在快捷菜單中di點(diǎn)擊Edit菜單,使網(wǎng)格空間處于活動(dòng)狀態(tài)(可編輯狀態(tài)),然后在選中properties菜單項(xiàng), 即可打開屬

22、性頁,8.5數(shù)據(jù)網(wǎng)格控件DataGrid和 DBGrid,四、DataGrid和DBGrid的其他屬性 AllowAddNew:是否允許向數(shù)據(jù)源中添加行 AllowDelete:是否允許對數(shù)據(jù)源刪除行 AllowUpdate:是否允許用戶修改單元格的值 Columns:返回一個(gè) Column 對象的集合,某個(gè)特定的Column 對象可由屬性Col確定, 或由Column(index)確定。(例8-8) Splits:包含所有存儲(chǔ)在 DataGrid 控件中的 Split 對象 SelStartCol, SelEndCol ,SelStartRow, SelEndRow :用來設(shè)置第一或最后被選

23、中的列或行, SelStartCol, SelStartRow一起使用可設(shè)定選中范圍的左上角, SelEndCol , SelEndRow一起使用可設(shè)定選中范圍的右下角 SelbookMarks屬性:返回?cái)?shù)據(jù)網(wǎng)格控件上被選中的記錄的書簽集合(例8-7),8.5數(shù)據(jù)網(wǎng)格控件DataGrid和 DBGrid,五、DataGrid和DBGrid的常用方法 ClearFields方法:清除當(dāng)前網(wǎng)格設(shè)置,恢復(fù)默認(rèn)布局(具有兩空白列),與后面的rebind方法配合 Rebind方法:自動(dòng)根據(jù)數(shù)據(jù)源進(jìn)行新列的綁定 HoldFields方法:強(qiáng)制網(wǎng)格使用當(dāng)前的列/字段布局 ClearSelCols方法:撤銷對拆分中所有列的選擇,如沒有選擇列,不做任何事情 Scroll方法:水平或垂直滾動(dòng)網(wǎng)格控件 DataGrid1.Scroll 2, 4,行值,列值,見例8-9,8.5數(shù)據(jù)網(wǎng)格控件DataGrid和 DB

溫馨提示

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

最新文檔

評論

0/150

提交評論