第十章數(shù)據(jù)庫應用技術_第1頁
第十章數(shù)據(jù)庫應用技術_第2頁
第十章數(shù)據(jù)庫應用技術_第3頁
第十章數(shù)據(jù)庫應用技術_第4頁
第十章數(shù)據(jù)庫應用技術_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第十章數(shù)據(jù)庫應用技術1 第第1010章章數(shù)據(jù)庫應用基礎數(shù)據(jù)庫應用基礎 10.1 10.1 數(shù)據(jù)庫概述數(shù)據(jù)庫概述 10.2 VB 10.2 VB 數(shù)據(jù)庫訪問數(shù)據(jù)庫訪問 10.3 10.3 記錄集對象記錄集對象 10.4 10.4 綜合應用綜合應用 第十章數(shù)據(jù)庫應用技術 10.1 10.1 數(shù)據(jù)庫概述數(shù)據(jù)庫概述 1. 數(shù)據(jù)庫:是指一組排列成易于處理或讀取的相關信數(shù)據(jù)庫:是指一組排列成易于處理或讀取的相關信 息,它是由一個或多個表對象組成的集合。這有些類息,它是由一個或多個表對象組成的集合。這有些類 似于似于Excel的工作簿和工作表。的工作簿和工作表。 根據(jù)數(shù)據(jù)模型,即實現(xiàn)數(shù)據(jù)結構化所采用的聯(lián)系方

2、式,根據(jù)數(shù)據(jù)模型,即實現(xiàn)數(shù)據(jù)結構化所采用的聯(lián)系方式, 數(shù)據(jù)庫可以分為層次數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫和關系數(shù)據(jù)數(shù)據(jù)庫可以分為層次數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫和關系數(shù)據(jù) 庫。庫。 第十章數(shù)據(jù)庫應用技術 .1關系型數(shù)據(jù)庫模型關系型數(shù)據(jù)庫模型 關系型數(shù)據(jù)庫模型將數(shù)據(jù)用表的集合來表示。關系型數(shù)據(jù)庫模型將數(shù)據(jù)用表的集合來表示。 通過建立簡單表之間的關系來定義結構,通過建立簡單表之間的關系來定義結構, 1. 記錄(行)記錄(行):每張二維表均由若干行和列構成,其每張二維表均由若干行和列構成,其 中每一行稱為一條記錄中每一行稱為一條記錄 2.字段(列)字段(列):二維表中的每一列稱為一個字段二維表中的每一列

3、稱為一個字段,每一每一 列均有一個名字,稱為字段名,各字段名互不相同列均有一個名字,稱為字段名,各字段名互不相同 3主鍵主鍵:關系數(shù)據(jù)庫中的某個字段或某些字段的組關系數(shù)據(jù)庫中的某個字段或某些字段的組 合定義為主鍵合定義為主鍵,每條記錄的主鍵值都是唯一的,這就每條記錄的主鍵值都是唯一的,這就 保證了可以通過主鍵唯一標識一條記錄。保證了可以通過主鍵唯一標識一條記錄。 數(shù)據(jù)庫 表 第十章數(shù)據(jù)庫應用技術 10.1.2 使用使用SQL查詢數(shù)據(jù)庫查詢數(shù)據(jù)庫 結構化查詢語言結構化查詢語言(Structure Query Language, SQL)是操作關系數(shù)據(jù)庫的標準語言是操作關系數(shù)據(jù)庫的標準語言 通過通

4、過SQL命令,可以從數(shù)據(jù)庫的多個表中獲取數(shù)命令,可以從數(shù)據(jù)庫的多個表中獲取數(shù) 據(jù),也可對數(shù)據(jù)進行更新操作據(jù),也可對數(shù)據(jù)進行更新操作 用戶提出一個查詢,數(shù)據(jù)庫返回所有與該查詢匹用戶提出一個查詢,數(shù)據(jù)庫返回所有與該查詢匹 配的記錄。配的記錄。SQL的主要語句:的主要語句: 語語 句句.分類分類描描 述述 SELECT數(shù)據(jù)查詢數(shù)據(jù)查詢 查找滿足特定條件的記錄查找滿足特定條件的記錄 DELETE數(shù)據(jù)操作數(shù)據(jù)操作 從數(shù)據(jù)表中刪除記錄從數(shù)據(jù)表中刪除記錄 INSERT數(shù)據(jù)操作數(shù)據(jù)操作 向表中插入一條記錄向表中插入一條記錄 UPDATE數(shù)據(jù)操作數(shù)據(jù)操作 用來改變特定記錄和字段的值用來改變特定記錄和字段的值 第

5、十章數(shù)據(jù)庫應用技術 SELECT語句語句 SELECT語句的基本語法形式語句的基本語法形式 SELECT 字段表字段表 FROM 表名表名 WHERE 查詢條件查詢條件 GROUP BY 分組分組 字段字段 HAVING 分組條件分組條件 ORDER BY 字段字段ASC|DESC SELECT 目標表達式列表目標表達式列表 FROM 表名表名 WHERE 查詢條件查詢條件 GROUP BY 分組字段分組字段 HAVING 分組條件分組條件 ORDER BY 排序關鍵字段排序關鍵字段 ASC|DESC 它包含它包含4部分,其中部分,其中SELECT和和FROM子句是必須的,子句是必須的, 通過

6、使用通過使用SELECT語句返回一個記錄集。語句返回一個記錄集。 例例 在學生基本情況表中查詢物理系的學生情況:在學生基本情況表中查詢物理系的學生情況: SELECT * FROM 基本情況基本情況 WHERE 專業(yè)專業(yè)= 物理物理 第十章數(shù)據(jù)庫應用技術 SELECT語句語句-輸出表達式輸出表達式 目標表達式為查詢結果要顯示的字段清單目標表達式為查詢結果要顯示的字段清單(字段間用字段間用 逗號分開逗號分開)。 數(shù)據(jù)的顯示順序由字段清單的順序決定。數(shù)據(jù)的顯示順序由字段清單的順序決定。 可用星號可用星號*代表所有字段;代表所有字段; 可用可用AS短語指定字段別名;短語指定字段別名; 可通過構造表達

7、式對原始數(shù)據(jù)進行復雜的運算處理,可通過構造表達式對原始數(shù)據(jù)進行復雜的運算處理, 產(chǎn)生查詢結果。產(chǎn)生查詢結果。 例如,根據(jù)出生年月計算每個學生的年齡例如,根據(jù)出生年月計算每個學生的年齡 SELECT 姓名姓名, (Year(Date()-Year(出生年月出生年月) AS 年齡年齡 FROM 基本情況基本情況 第十章數(shù)據(jù)庫應用技術 SELECTSELECT語句語句- -查詢條件查詢條件 WHERE子句用于限制記錄的選擇子句用于限制記錄的選擇 例如,查詢例如,查詢1985-01-01到到1986-12-31之間出生的學生:之間出生的學生: SELECT * FROM 基本情況基本情況 WHERE

8、出生年月出生年月 BETWEEN #1985-01-01# AND #1986-12-31# 要枚舉出若干項進行查詢,使用運算符要枚舉出若干項進行查詢,使用運算符IN 例如:查詢物理系和數(shù)學系的學生數(shù)據(jù):例如:查詢物理系和數(shù)學系的學生數(shù)據(jù): SELECT * FROM 基本情況基本情況 WHERE 專業(yè)專業(yè) IN (物理物理, 數(shù)學數(shù)學) 等價于:等價于:SELECT * FROM 基本情況基本情況 WHERE專業(yè)專業(yè)= 物物 理理 OR 專業(yè)專業(yè) = 數(shù)學數(shù)學 復合條件:如查詢數(shù)學和英語成績均不及格的學生信息復合條件:如查詢數(shù)學和英語成績均不及格的學生信息 SELECT * FROM sco

9、re WHERE 數(shù)學數(shù)學60 AND 英語英語=80 第十章數(shù)據(jù)庫應用技術 SELECT語句語句-排序排序 ORDER BY子句決定了查詢結果的排列順序子句決定了查詢結果的排列順序 在在ORDER BY子句中,可以指定一個或多個字段作為子句中,可以指定一個或多個字段作為 排序關鍵字,排序關鍵字,ASC選項代表升序,選項代表升序,DESC代表降序。代表降序。 例如查詢學生成績表中的所有數(shù)學成績及格的學生例如查詢學生成績表中的所有數(shù)學成績及格的學生 信息,并將查詢結果按數(shù)學成績降序排列信息,并將查詢結果按數(shù)學成績降序排列 SELECT * FROM score WHERE 數(shù)學數(shù)學=60 ORD

10、ER BY 數(shù)學數(shù)學 DESC 第十章數(shù)據(jù)庫應用技術 SELECT語句圖解語句圖解 第十章數(shù)據(jù)庫應用技術 SELECTSELECT語句語句- -多表連接多表連接 若查詢的數(shù)據(jù)分布在多個表中,則必須建立連接查詢:若查詢的數(shù)據(jù)分布在多個表中,則必須建立連接查詢: SELECT目標表達式列表目標表達式列表 FROM 表表1, 表表2 WHERE 表表1. 字段字段 = 表表2.字段字段 例如,學生成績表中只有學號,如何在查看學生成績的例如,學生成績表中只有學號,如何在查看學生成績的 同時能夠直觀地看到學生姓名?這就要在兩表之間建立同時能夠直觀地看到學生姓名?這就要在兩表之間建立 連接。連接。SQL語

11、句如下:語句如下: SELECT基本情況基本情況.姓名姓名, 成績表成績表.* FROM 基本情況基本情況, 成成 績表績表 WHERE成績表成績表.學號學號=基本情況基本情況.學號學號 第十章數(shù)據(jù)庫應用技術 10.2 VB數(shù)據(jù)庫訪問數(shù)據(jù)庫訪問 10.2.1 ADO數(shù)據(jù)控件使用基礎數(shù)據(jù)控件使用基礎 ADO(ActiveX Data Object)數(shù)據(jù)訪問接口)數(shù)據(jù)訪問接口 數(shù)據(jù)庫應用程序引例數(shù)據(jù)庫應用程序引例 例例10.1 設計一個窗體,用設計一個窗體,用DataGrid控件顯控件顯 Student.mdb數(shù)據(jù)庫中數(shù)據(jù)庫中“基本情況基本情況”表的內容。表的內容。 第十章數(shù)據(jù)庫應用技術 ADO數(shù)

12、據(jù)控件使用數(shù)據(jù)控件使用 VB采用采用ADO(ActiveX Data Objects)數(shù)據(jù)訪問技術,數(shù)據(jù)訪問技術, 編寫本程序,需要完成以下工作:編寫本程序,需要完成以下工作: 在窗體上添加在窗體上添加ADO數(shù)據(jù)控件數(shù)據(jù)控件 使用使用ADO連接對象建立與數(shù)據(jù)提供者之間的連接連接對象建立與數(shù)據(jù)提供者之間的連接 使用使用ADO命令對象操作數(shù)據(jù)源,從數(shù)據(jù)源中產(chǎn)生命令對象操作數(shù)據(jù)源,從數(shù)據(jù)源中產(chǎn)生 記錄集并存放在內存中記錄集并存放在內存中 建立記錄集與數(shù)據(jù)綁定控件的關聯(lián),在窗體上顯建立記錄集與數(shù)據(jù)綁定控件的關聯(lián),在窗體上顯 示數(shù)據(jù)示數(shù)據(jù) DataGrid控件是一種類似于電子表格的數(shù)據(jù)綁定控件是一種類似

13、于電子表格的數(shù)據(jù)綁定 ActiveX控件(控件(Microsoft DataGrid Control 6.0),需),需 要配合要配合ADO控件一起使用。它用若干行、列來表示控件一起使用。它用若干行、列來表示 Recordset對象的記錄和字段。對象的記錄和字段。 第十章數(shù)據(jù)庫應用技術 數(shù)據(jù)源連接設置操作數(shù)據(jù)源連接設置操作 右單擊右單擊ADO 控件,選擇控件,選擇 快捷菜單快捷菜單 ADODC屬性屬性 命令,打開命令,打開 ADO控件屬控件屬 性頁窗性頁窗 單擊單擊 連接數(shù)據(jù)連接數(shù)據(jù) 源的方式源的方式 第十章數(shù)據(jù)庫應用技術 選擇提供程序選擇提供程序 選擇提供程序選擇提供程序 第十章數(shù)據(jù)庫應用技

14、術 指定訪問的數(shù)據(jù)庫指定訪問的數(shù)據(jù)庫 指定要訪問的指定要訪問的 數(shù)據(jù)庫文件數(shù)據(jù)庫文件 第十章數(shù)據(jù)庫應用技術 連接對象重要屬性連接對象重要屬性 1.連接對象最重要的屬性是連接對象最重要的屬性是ConnectionString:它是一它是一 個字符串,包含了用于與數(shù)據(jù)源建立連接的相關信息個字符串,包含了用于與數(shù)據(jù)源建立連接的相關信息 典型的典型的 ConnectionString 屬性值如下:屬性值如下: Provider = Microsoft.Jet. 4.0 OLE DB Provider; Data Source = Student.mdb Provide:指定連接提供程序的名稱;指定連接

15、提供程序的名稱; Data Source:用于指定要連接的數(shù)據(jù)源文件。用于指定要連接的數(shù)據(jù)源文件。 第十章數(shù)據(jù)庫應用技術 VB VB數(shù)據(jù)庫訪問過程數(shù)據(jù)庫訪問過程 第十章數(shù)據(jù)庫應用技術 2. CommandType:指定獲取記錄源的命令類型指定獲取記錄源的命令類型 屬性值屬性值 常量常量描述描述 1adCmdTextRecordSource設置為命設置為命 令文本通常使用令文本通常使用SQL語語 句句 2adCmdTableRecordSource設置為單設置為單 個表名個表名 4adCmdStoredProc RecordSource設置為存設置為存 儲過程名儲過程名 8adCmdUnknow

16、n命令類型未知命令類型未知 RecordSource設置為設置為 SQL語句語句 第十章數(shù)據(jù)庫應用技術 3.RecordSource屬性屬性 RecordSource確定具體可訪問的數(shù)據(jù)來源,確定具體可訪問的數(shù)據(jù)來源, 這些數(shù)據(jù)構成記錄集對象這些數(shù)據(jù)構成記錄集對象Recordset。 該屬性值可以是數(shù)據(jù)庫中的單個表名,也可以是該屬性值可以是數(shù)據(jù)庫中的單個表名,也可以是 使用使用SQL查詢語言的一個查詢字符串。查詢語言的一個查詢字符串。 例:要指定記錄集對象為例:要指定記錄集對象為Student.mdb數(shù)據(jù)庫中的數(shù)據(jù)庫中的 “基本情況基本情況”表,則設置表,則設置RecordSource=“基本

17、情基本情 況況” 若要用所有物理專業(yè)的學生數(shù)據(jù)構成記錄集對象,若要用所有物理專業(yè)的學生數(shù)據(jù)構成記錄集對象, 則設置則設置 RecordSource=“Select*From 基本情況基本情況 Where 專專 業(yè)業(yè)=物理物理” 第十章數(shù)據(jù)庫應用技術 3. ADO數(shù)據(jù)控件的其他屬性、事件和方法數(shù)據(jù)控件的其他屬性、事件和方法 (1) Recordset(記錄集)對象:(記錄集)對象: 記錄集記錄集”對象描述來自數(shù)據(jù)表或命令執(zhí)行結果的記錄對象描述來自數(shù)據(jù)表或命令執(zhí)行結果的記錄 集合集合.記錄集對象中的每個字段值用記錄集對象中的每個字段值用 Recordset.Fields(“字段名字段名”)獲得獲得

18、 (2)BOFAction和和EOFAction屬性屬性 BOF :當前記錄位置位于:當前記錄位置位于 Recordset 對象的第一個記錄之前對象的第一個記錄之前 EOF :當前記錄位置位于:當前記錄位置位于 Recordset 對象的最后一個記錄之后對象的最后一個記錄之后 (3). Refresh方法:方法: 建立或重新顯示與建立或重新顯示與Data控件相連接的數(shù)據(jù)庫記錄集。控件相連接的數(shù)據(jù)庫記錄集。 當在運行狀態(tài)改變當在運行狀態(tài)改變ADO數(shù)據(jù)控件的數(shù)據(jù)源連接屬性后數(shù)據(jù)控件的數(shù)據(jù)源連接屬性后 必須使用必須使用Refresh方法激活這些變化方法激活這些變化 例:記錄集由例:記錄集由“基本情況

19、基本情況”改為改為“成績表成績表” Adodc1.RecordSource=“成績表成績表” Adodc1. Refresh 第十章數(shù)據(jù)庫應用技術 (4) WillMove和和MoveComplete事件。事件。 當用某種方法改變記錄集的指針使其從一當用某種方法改變記錄集的指針使其從一 條記錄移到另一條記錄,產(chǎn)生條記錄移到另一條記錄,產(chǎn)生WillMove 事件事件 MoveComplete事件發(fā)生在一條記錄成為事件發(fā)生在一條記錄成為 當前記錄后,它出現(xiàn)在當前記錄后,它出現(xiàn)在WillMove事件事件后后 第十章數(shù)據(jù)庫應用技術 數(shù)據(jù)訪問過程數(shù)據(jù)訪問過程 應用程序通過連接對象與數(shù)據(jù)源建立連接應用程序

20、通過連接對象與數(shù)據(jù)源建立連接(不同類型不同類型 的數(shù)據(jù)庫使用各自的連接提供程序的數(shù)據(jù)庫使用各自的連接提供程序) 命令對象發(fā)出命令對象發(fā)出SQL命令從數(shù)據(jù)源中獲取數(shù)據(jù)命令從數(shù)據(jù)源中獲取數(shù)據(jù) 數(shù)據(jù)集對象用來保存所查詢到的數(shù)據(jù)記錄數(shù)據(jù)集對象用來保存所查詢到的數(shù)據(jù)記錄 應用程序對記錄集進行操作應用程序對記錄集進行操作 記錄集表示內存中來自基本表或命令執(zhí)行結果的集合,記錄集表示內存中來自基本表或命令執(zhí)行結果的集合, 也由記錄也由記錄(行行)和字段和字段(列列)構成,可以把它當作一個數(shù)據(jù)構成,可以把它當作一個數(shù)據(jù) 表來進行操作表來進行操作 第十章數(shù)據(jù)庫應用技術 10.2.2 數(shù)據(jù)綁定數(shù)據(jù)綁定 數(shù)據(jù)綁定是一

21、個過程,即在運行時自動為與記錄集中的數(shù)據(jù)綁定是一個過程,即在運行時自動為與記錄集中的 元素關聯(lián)的控件設置屬性。以便通過控件顯示數(shù)據(jù)集中元素關聯(lián)的控件設置屬性。以便通過控件顯示數(shù)據(jù)集中 的數(shù)據(jù)。的數(shù)據(jù)。 第十章數(shù)據(jù)庫應用技術 數(shù)據(jù)綁定數(shù)據(jù)綁定 Windows 窗體有簡單數(shù)據(jù)綁定和復雜數(shù)據(jù)綁定窗體有簡單數(shù)據(jù)綁定和復雜數(shù)據(jù)綁定 簡單數(shù)據(jù)綁定簡單數(shù)據(jù)綁定 簡單數(shù)據(jù)綁定:將控件綁定到單個數(shù)據(jù)字段。每個控簡單數(shù)據(jù)綁定:將控件綁定到單個數(shù)據(jù)字段。每個控 件僅顯示數(shù)據(jù)集中的一個字段值。件僅顯示數(shù)據(jù)集中的一個字段值。 最常用的簡單數(shù)據(jù)綁定是將數(shù)據(jù)綁定到文本框和標簽最常用的簡單數(shù)據(jù)綁定是將數(shù)據(jù)綁定到文本框和標簽

22、在設計或運行時設置控件屬性建立綁定在設計或運行時設置控件屬性建立綁定: DataSource:指定:指定ADO數(shù)據(jù)控件數(shù)據(jù)控件 DataField:設置記錄集中有效的字段:設置記錄集中有效的字段 第十章數(shù)據(jù)庫應用技術 簡單數(shù)據(jù)綁定簡單數(shù)據(jù)綁定 例例10.2 設計一個窗體,用以瀏覽設計一個窗體,用以瀏覽Student.mdb數(shù)據(jù)庫中數(shù)據(jù)庫中 基本情況表的內容基本情況表的內容 界面設計界面設計 ADO數(shù)據(jù)控件數(shù)據(jù)控件 3個文本框個文本框 2個組合框個組合框 5個標簽控件個標簽控件 第十章數(shù)據(jù)庫應用技術 建立連接和產(chǎn)生記錄集建立連接和產(chǎn)生記錄集 1.選中選中ADO數(shù)據(jù)控件數(shù)據(jù)控件-單擊右鍵單擊右鍵-

23、ADODC屬性屬性- 打開屬性頁打開屬性頁-使用連接字符串使用連接字符串-選選Microsoft.Jet. 4.0 OLE DB Provider 2.單擊下一步單擊下一步-選擇數(shù)據(jù)庫文件選擇數(shù)據(jù)庫文件-測試連接測試連接 3.在屬性頁中單擊在屬性頁中單擊“記錄源記錄源”-命令類型選命令類型選2- - 表名稱選擇表名稱選擇 第十章數(shù)據(jù)庫應用技術 設置綁定屬性設置綁定屬性 1.將文本框、組合框的將文本框、組合框的DataSource屬性設置為屬性設置為Adodc1 2.數(shù)據(jù)顯示格式通過數(shù)據(jù)顯示格式通過DataFormat屬性改變屬性改變 3.將文本框、組合框的將文本框、組合框的DataField選

24、擇選擇 4.若將若將ADO控件的控件的EofAction屬性設置為屬性設置為2,則應用程,則應用程 序具有添加新記錄的功能序具有添加新記錄的功能 第十章數(shù)據(jù)庫應用技術 復雜數(shù)據(jù)綁定復雜數(shù)據(jù)綁定 復雜數(shù)據(jù)綁定允許將多個數(shù)據(jù)字段綁定到一個控件,同復雜數(shù)據(jù)綁定允許將多個數(shù)據(jù)字段綁定到一個控件,同 時顯示記錄源中的多行或多列。時顯示記錄源中的多行或多列。 支持復雜數(shù)據(jù)綁定的常用控件:支持復雜數(shù)據(jù)綁定的常用控件: n DataGrid 數(shù)據(jù)網(wǎng)格數(shù)據(jù)網(wǎng)格 n MSHFlexGrid 數(shù)據(jù)網(wǎng)格數(shù)據(jù)網(wǎng)格 n DataList 數(shù)據(jù)列表框數(shù)據(jù)列表框 n DataCombo 數(shù)據(jù)組合框數(shù)據(jù)組合框 第十章數(shù)據(jù)庫應用

25、技術 復雜數(shù)據(jù)綁定復雜數(shù)據(jù)綁定 例例10.3復雜數(shù)據(jù)綁定的操作過程復雜數(shù)據(jù)綁定的操作過程 界面設計:界面設計:ADO數(shù)據(jù)控件、數(shù)據(jù)控件、 DataGrid、2個命令按鈕個命令按鈕 建立連接和產(chǎn)生記錄集:建立連接和產(chǎn)生記錄集: Adodc1控件記錄源選控件記錄源選“基本情況基本情況”或或“成績表成績表”為默認為默認 值值 DataGrid DataSource屬性設置為屬性設置為Adodc1 數(shù)據(jù)綁定數(shù)據(jù)綁定 本例本例DataGrid控件要綁定不同的表,故需要通過代碼設控件要綁定不同的表,故需要通過代碼設 置控件的置控件的DataSource 屬性。屬性。 第十章數(shù)據(jù)庫應用技術 程序代碼程序代碼

26、 Private Sub Command1_Click() Adodc1.RecordSource = 基本情況基本情況“ Adodc1.Refresh End Sub Private Sub Command2_Click() Adodc1.RecordSource = 成績表成績表“ Adodc1.Refresh End Sub 第十章數(shù)據(jù)庫應用技術 例例10.4使用使用SQL語句選擇數(shù)據(jù)表部分數(shù)據(jù)構成記錄集。語句選擇數(shù)據(jù)表部分數(shù)據(jù)構成記錄集。 在網(wǎng)格上綁定部分字段,需要對數(shù)據(jù)網(wǎng)格布局進行編輯在網(wǎng)格上綁定部分字段,需要對數(shù)據(jù)網(wǎng)格布局進行編輯 Adodc1控件記錄源控件記錄源-命令類型選命令類

27、型選8-adCmdUnknown- 在命令文本框內輸入在命令文本框內輸入“Select * from 基本情況基本情況 Where 性別性別=“男男” 鼠標右擊鼠標右擊DataGrid-選檢索字段選檢索字段-點擊是將表中字點擊是將表中字 段裝載到段裝載到DataGrid控件中控件中 第十章數(shù)據(jù)庫應用技術 10.3 10.3 記錄集對象記錄集對象 10.3.1 10.3.1 瀏覽記錄集瀏覽記錄集 1. AbsoloutPostion屬性屬性 返回當前記錄指針值,從返回當前記錄指針值,從1到到Recordset對象所含對象所含 記錄數(shù),第記錄數(shù),第n條記錄的條記錄的AbsoloutPostion屬

28、性值為屬性值為n 2. BOF和和EOF的屬性的屬性 BOF判定記錄指針是否在首記錄之前判定記錄指針是否在首記錄之前 EOF判定記錄指針是否在末記錄之后判定記錄指針是否在末記錄之后 如果如果BOF和和EOF的屬性值都為的屬性值都為True,則記錄集為空,則記錄集為空 若當前記錄指針值位于若當前記錄指針值位于BOF, AbsoloutPostion屬屬 性返回性返回AdPosBOF(-2) 若當前記錄指針值位于若當前記錄指針值位于EOF, AbsoloutPostion屬屬 性返回性返回AdPosEOF(-3) 記 錄 集 為 空 ,記 錄 集 為 空 , A b s o l o u t P o

29、 s t i o n 屬 性 返 回屬 性 返 回 AdPosUnknown(-1) 第十章數(shù)據(jù)庫應用技術 3. RecordCount屬性屬性 對對Recordset對象中的記錄計數(shù),該屬性為只讀屬性對象中的記錄計數(shù),該屬性為只讀屬性 Private Sub Adodc1_MoveComplete() Adodc1.Caption = Adodc1.Recordset.AbsolutePosition “ mlink = mlink + Data Source= + mpath + Student.mdb Adodc1.ConnectionString = mlink Adodc1.Comm

30、andType = adCmdUnknown End Sub 第十章數(shù)據(jù)庫應用技術 例例10.8使用數(shù)據(jù)列表框或數(shù)據(jù)組合框提供專業(yè)名稱,使用數(shù)據(jù)列表框或數(shù)據(jù)組合框提供專業(yè)名稱, 實現(xiàn)查詢實現(xiàn)查詢 設置設置2個個ADO數(shù)據(jù)控件、數(shù)據(jù)控件、 DataGrid控件、控件、 DataList 控件控件 第十章數(shù)據(jù)庫應用技術 Private Sub DataList1_Click() Adodc1.RecordSource = select * from 基本情況基本情況 where 專業(yè)專業(yè)= “ mlink = mlink + Data Source= + mpath + Student.mdb A

31、dodc1.ConnectionString = mlink Adodc1.CommandType = adCmdUnknown End Sub 第十章數(shù)據(jù)庫應用技術 例例10.9使用使用SQL的函數(shù)和分組功能,統(tǒng)計各專業(yè)的人數(shù)、的函數(shù)和分組功能,統(tǒng)計各專業(yè)的人數(shù)、 年齡分布。年齡分布。 第十章數(shù)據(jù)庫應用技術 Private Sub Command1_Click() Adodc1.RecordSource = Select 專業(yè)專業(yè),count(*) as 人人 數(shù)數(shù) from 基本情況基本情況 group by 專業(yè)專業(yè)“ Adodc1.Refresh End Sub Private Sub

32、 Command2_Click() Adodc1.RecordSource = Select year(出生年月出生年月) as 出出 生年月生年月,count(*) as 人數(shù)人數(shù) from 基本情況基本情況 group by year(出生年月出生年月)“ Adodc1.Refresh End Sub Private Sub Form_Load() Dim mpath$, mlink$ mpath = App.Path If Right(mpath, 1) Then mpath = mpath + “ mlink = Provider=Microsoft.Jet.OLEDB.4.0;“ mlink = mlink + Data Source= + mpath + Student.mdb Adodc1.ConnectionString = mlink Adodc1.CommandType = adCmdUnknown End Sub 第十章數(shù)據(jù)庫應用技術 10.3.4 BLOB10.3.4 BLOB數(shù)據(jù)處理數(shù)據(jù)處理 二進制大型對象二進制大型對象(Binary Large Object,BLOB)是指是指 任何需要存入數(shù)據(jù)庫的隨機大塊字節(jié)流數(shù)據(jù),例如圖形任何需要存入數(shù)據(jù)庫的

溫馨提示

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

評論

0/150

提交評論