VB教程第5章數(shù)據(jù)庫項(xiàng)目開發(fā)概述_第1頁
VB教程第5章數(shù)據(jù)庫項(xiàng)目開發(fā)概述_第2頁
VB教程第5章數(shù)據(jù)庫項(xiàng)目開發(fā)概述_第3頁
VB教程第5章數(shù)據(jù)庫項(xiàng)目開發(fā)概述_第4頁
VB教程第5章數(shù)據(jù)庫項(xiàng)目開發(fā)概述_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

5.1數(shù)據(jù)庫基礎(chǔ)知識(shí)5.2數(shù)據(jù)庫設(shè)計(jì)5.3SQL語言簡介5.4ODBC與ADO簡介第5章數(shù)據(jù)庫應(yīng)用開發(fā)概述1§5.1數(shù)據(jù)庫基礎(chǔ)知識(shí)數(shù)據(jù)庫技術(shù)研究如何科學(xué)合理地組織數(shù)據(jù)、存儲(chǔ)數(shù)據(jù)、如何高效的訪問數(shù)據(jù)應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)庫管理系統(tǒng)

數(shù)據(jù)庫2Database,簡稱DB

數(shù)據(jù)庫是指長期存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織、可共享、統(tǒng)一管理的數(shù)據(jù)的集合。

§5.1.1四個(gè)基本概念----數(shù)據(jù)庫3§5.1.1四個(gè)基本概念----數(shù)據(jù)庫管理系統(tǒng)DatabaseManagementSystem,簡稱DBMS數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)間的一層數(shù)據(jù)管理軟件,屬系統(tǒng)軟件的范疇。數(shù)據(jù)庫管理系統(tǒng)負(fù)責(zé)定義數(shù)據(jù)和操縱數(shù)據(jù),并能夠保證數(shù)據(jù)庫中數(shù)據(jù)的安全性、完整性,以及進(jìn)行多用戶對(duì)數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復(fù)。

Access、SQLServer、Oracle、Sybase、Foxpro

是典型的數(shù)據(jù)庫管理系統(tǒng)4§5.1.1四個(gè)基本概念----數(shù)據(jù)庫管理員DatabaseAdministrator,簡稱DBADBA是指全面負(fù)責(zé)數(shù)據(jù)庫系統(tǒng)的“規(guī)劃、設(shè)計(jì)、維護(hù)、管理和正常使用的”人員,其職責(zé)如下:(1)參與數(shù)據(jù)庫設(shè)計(jì)的全過程,決定數(shù)據(jù)庫的結(jié)構(gòu)和內(nèi)容;(2)定義數(shù)據(jù)的安全性和完整性,負(fù)責(zé)分配用戶對(duì)數(shù)據(jù)庫的使用權(quán)限和口令管理;(3)監(jiān)督控制數(shù)據(jù)庫的使用和運(yùn)行,改進(jìn)和重新構(gòu)造數(shù)據(jù)庫系統(tǒng)。當(dāng)數(shù)據(jù)庫受到破壞時(shí),應(yīng)負(fù)責(zé)恢復(fù)數(shù)據(jù)庫;當(dāng)數(shù)據(jù)庫的結(jié)構(gòu)需要改變時(shí),完成對(duì)數(shù)據(jù)結(jié)構(gòu)的修改。DBA不僅要有較高的技術(shù)專長和較深的資歷,并應(yīng)具有了解和闡明管理要求的能力。特別對(duì)于大型數(shù)據(jù)庫系統(tǒng),DBA極為重要。對(duì)于常見的微機(jī)數(shù)據(jù)庫系統(tǒng),通常只有一個(gè)用戶,常常不設(shè)DBA,DBA的職責(zé)由應(yīng)用程序員或終端用戶代替。5§5.1.1四個(gè)基本概念----數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)是指由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶等構(gòu)成的系統(tǒng)。

廣義的講,數(shù)據(jù)庫系統(tǒng)由下面幾部分構(gòu)成硬件及數(shù)據(jù)庫軟件:包括操作系統(tǒng)、DBMS、編譯系統(tǒng)及應(yīng)用開發(fā)工具軟件等人員:包括數(shù)據(jù)庫管理員、用戶等。數(shù)據(jù)庫系統(tǒng)的各類人員對(duì)數(shù)據(jù)庫的各種操作請(qǐng)求,都由DBMS完成,DBMS是數(shù)據(jù)庫系統(tǒng)的核心軟件。6用戶用戶用戶…...應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具數(shù)據(jù)庫管理系統(tǒng)操作系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)庫管理員長期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織、可共享的數(shù)據(jù)集合。負(fù)責(zé)定義數(shù)據(jù)和操縱數(shù)據(jù),并能夠保證數(shù)據(jù)庫中數(shù)據(jù)的安全性、完整性、并發(fā)控制及恢復(fù)數(shù)據(jù)庫系統(tǒng)組成7§5.1.2常用數(shù)據(jù)模型在數(shù)據(jù)庫中是用數(shù)據(jù)模型這個(gè)工具來對(duì)現(xiàn)實(shí)世界進(jìn)行抽象的。數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)中用于提供信息表示和操作手段的形式構(gòu)架。根據(jù)模型應(yīng)用的目的不同,可將數(shù)據(jù)模型分為兩類。概念模型(信息模型):按照用戶的觀點(diǎn)對(duì)數(shù)據(jù)和信息建模邏輯模型(層次、網(wǎng)狀、關(guān)系):按照計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模。81.概念模型三個(gè)世界認(rèn)識(shí)抽象現(xiàn)實(shí)世界信息世界概念模型機(jī)器世界DBMS支持的數(shù)據(jù)模型概念模型用于信息世界建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象,是用戶與數(shù)據(jù)庫設(shè)計(jì)人員之間進(jìn)行交流的語言,因此概念模型應(yīng)強(qiáng)調(diào)語義表達(dá)能力。要易于用戶理解91.概念模型信息世界中的基本概念實(shí)體(Entity):客觀存在并可相互區(qū)別的事物稱為實(shí)體,如:一個(gè)學(xué)生、一個(gè)部門、一門課、學(xué)生的一次選課、部門的一次訂貨等。實(shí)體集(EntitySet):同型實(shí)體的集合稱為實(shí)體集。如:全體學(xué)生就是一個(gè)實(shí)體集。屬性(Attribute):實(shí)體所具有的某一特性稱為屬性。一個(gè)實(shí)體可以由若干個(gè)屬性來刻畫。例如學(xué)生實(shí)體可以用學(xué)號(hào)、姓名、性別、出生年月等屬性組成。碼(Key):唯一標(biāo)識(shí)實(shí)體的屬性集稱為碼。如:學(xué)號(hào)是學(xué)生實(shí)體的碼。101.概念模型聯(lián)系:事物之間的聯(lián)系可以分為三類一對(duì)一聯(lián)系(1:1)如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對(duì)一聯(lián)系。如班級(jí)和班長之間的聯(lián)系一對(duì)多聯(lián)系(1:n):如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體與之聯(lián)系(n>=0),反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B具有一對(duì)多聯(lián)系。如班導(dǎo)師和學(xué)生之間的聯(lián)系。111.概念模型聯(lián)系:多對(duì)多聯(lián)系(m:n):如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體與之聯(lián)系(n>=0),反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m>=0)與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B具有多對(duì)多聯(lián)系。如:學(xué)生和課程之間的關(guān)系。多個(gè)實(shí)體之間也可以存在一對(duì)一、一對(duì)多、多對(duì)多的聯(lián)系,如學(xué)生、課程和教科書之間的聯(lián)系。同一個(gè)實(shí)體集內(nèi)的各實(shí)體之間也可以存在一對(duì)一、一對(duì)多、多對(duì)多的聯(lián)系,如職工實(shí)體集內(nèi)有領(lǐng)導(dǎo)和被領(lǐng)導(dǎo)的聯(lián)系。121.概念模型概念模型的表示方法:實(shí)體聯(lián)系方法實(shí)體型:用矩形框表示,矩形框內(nèi)寫上實(shí)體名。如:屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體聯(lián)系起來。如:課程學(xué)生學(xué)生學(xué)號(hào)學(xué)號(hào)學(xué)號(hào)姓名性別年齡1311.概念模型概念模型的表示方法:實(shí)體聯(lián)系方法聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(1:1,1:n,m:n)。如:班級(jí)班長管理11班級(jí)班長管理n1班級(jí)學(xué)生組成m班級(jí)課程管理n學(xué)生選修141.概念模型實(shí)體聯(lián)系參考書教師課程講授1nm職工領(lǐng)導(dǎo)1n151.概念模型E-R圖實(shí)例學(xué)生班級(jí)課程學(xué)號(hào)姓名性別年齡班級(jí)編號(hào)所屬專業(yè)系課程號(hào)課程名學(xué)分教師參考書課程號(hào)姓名性別年齡職稱書號(hào)書名內(nèi)容提要價(jià)格161.概念模型E-R圖實(shí)例班級(jí)成績組成領(lǐng)導(dǎo)學(xué)生學(xué)生人員選修課程講授教師參考書1nn1nm領(lǐng)導(dǎo)領(lǐng)導(dǎo)1nm172.邏輯模型不同的數(shù)據(jù)模型具有不同的數(shù)據(jù)結(jié)構(gòu)形式,目前最常用的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和關(guān)系模型。層次模型和網(wǎng)狀模型統(tǒng)稱為非關(guān)系模型,在非關(guān)系模型中,實(shí)體用記錄表示,實(shí)體之間的聯(lián)系轉(zhuǎn)換成記錄之間的兩兩聯(lián)系。182.關(guān)系模型關(guān)系模型中的重要概念關(guān)系:一個(gè)二維表是一個(gè)關(guān)系元組:表中的一行即為一個(gè)元組屬性:表中的一列即為一個(gè)屬性主碼:表中的某個(gè)屬性組,它可以唯一確定一個(gè)元組。域:屬性的取值范圍分量:元組中的一個(gè)屬性值。關(guān)系模式:對(duì)關(guān)系的描述。一般表示為:關(guān)系名(屬性1,屬性2,...,屬性n)

192.關(guān)系模型關(guān)系模型的數(shù)據(jù)結(jié)構(gòu):二維表學(xué)號(hào)95001950029500395004。。。95700姓名性別系別年齡籍貫李勇劉晨王名張立楊曉冬男女女男。。。男計(jì)算機(jī)科學(xué)信息數(shù)學(xué)計(jì)算機(jī)科學(xué)。。。物理20191819。。。21江蘇山東北京北京。。。山西整數(shù)字符串男女信息數(shù)學(xué),...141516171819202122...北京上海山東...學(xué)生登記表關(guān)系名主鍵關(guān)系域字段名記錄行字段(列)20關(guān)系模型在關(guān)系模型中,實(shí)體以及實(shí)體間的聯(lián)系都是用關(guān)系來表示的,例如,學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系在關(guān)系模型中可以表示如下:學(xué)生(學(xué)號(hào),姓名,性別,系別,年齡,籍貫)課程(課程號(hào),課程名,學(xué)分)選修(學(xué)號(hào),課程號(hào),成績)關(guān)系模型要求關(guān)系必須是規(guī)范化的,關(guān)系的每一分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng)。

21§5.2數(shù)據(jù)庫設(shè)計(jì)主要的內(nèi)容:需求分析概念設(shè)計(jì)。概念模型和E_R圖邏輯設(shè)計(jì)。關(guān)系模型設(shè)計(jì)物理設(shè)計(jì)22§5.2數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)的主要任務(wù)針對(duì)特定用途,在給定的軟、硬件環(huán)境下,設(shè)計(jì)出結(jié)構(gòu)合理、性能良好的數(shù)據(jù)庫,使之能較好地滿足客戶需求。

數(shù)據(jù)庫的設(shè)計(jì)一般分為以下四個(gè)步驟(于1978年在新奧爾良會(huì)議上提出,因此簡稱新奧爾良法):需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)。23圖5–6數(shù)據(jù)庫設(shè)計(jì)步驟

DBMS特征信息結(jié)構(gòu)(與軟件、硬件無關(guān))邏輯數(shù)據(jù)庫結(jié)構(gòu)、應(yīng)用程序說明書需求分析概念設(shè)計(jì)邏輯設(shè)計(jì)物理設(shè)計(jì)需求說明書總體信息需求處理需求硬件、操作系統(tǒng)特征

24§5.3關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介

自結(jié)構(gòu)化查詢語言SQL(StructureQueryLanguage)成為國際標(biāo)準(zhǔn)語言后,各個(gè)數(shù)據(jù)庫廠家紛紛推出各自支持的SQL軟件,SQL已成為關(guān)系數(shù)據(jù)庫領(lǐng)域中的一個(gè)主流語言。SQL的特點(diǎn):功能強(qiáng)大使用靈活語言簡潔,易學(xué)易用25§5.3.1SQL的基本概念SQL功能SQL命令數(shù)據(jù)定義CREATE,ALTER,DROP數(shù)據(jù)操縱

INSERT,UPDATE,DELETE數(shù)據(jù)查詢SELECT數(shù)據(jù)控制GRANT,REVOKE創(chuàng)建表、視圖、索引等向數(shù)據(jù)表中插入指定的紀(jì)錄在數(shù)據(jù)庫中查找滿足條件的記錄授予用戶一定的訪問權(quán)限26§5.3.2常用的SQL語句建立數(shù)據(jù)庫的目的是為了查詢數(shù)據(jù),因此說數(shù)據(jù)查詢是數(shù)據(jù)庫的核心操作。SQL語言提供了SELECT語句進(jìn)行數(shù)據(jù)庫的查詢,該語言具有語言靈活的使用方式和豐富的功能。查詢語句一般格式為:

SELECT[ALL|DISTINCT]<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]…FROM<表名或視圖名>[,<表名或視圖名>]…[WHERE<條件表達(dá)式>][GROUPBY<列名1>[HAVING<條件表達(dá)式>]][ORDERBY<列名2>[ASC|DESC]];27§5.3.2常用SQL數(shù)據(jù)查詢整個(gè)SELECT語句的含義是,根據(jù)WHERE子句的表達(dá)式,從FROM子句指定的基本表或視圖中找出滿足條件的元組,再按SELECT子句中的目標(biāo)列表達(dá)式,選出元組中的屬性值形成結(jié)果表。如果有GROUP子句,則將結(jié)果按<列名1>的值進(jìn)行分組,該屬性列值相等的元組為一個(gè)組,每個(gè)組產(chǎn)生結(jié)果表中的一條記錄.如果GROUP子句帶HAVING短語,則只有滿足指定條件的組才予輸出.如果有ORDER子句,則結(jié)果表還要按<列名2>的值的升序或降序排序.28“學(xué)生-課程”數(shù)據(jù)庫中包括三個(gè)表1.“學(xué)生信息”表StuInfo由學(xué)號(hào)、姓名、班級(jí)、來源這4個(gè)屬性組成,可記為:

StuInfo(學(xué)號(hào),姓名,班級(jí),來源).其中學(xué)號(hào)為主碼.2.“課程信息”表ClassInfo由課程代號(hào),課程名稱,任課教師,學(xué)分4個(gè)屬性組成,可記為:

ClassInfo(課程代號(hào),課程名稱,任課教師,學(xué)分).其中課程代號(hào)為主碼.3.“學(xué)生成績”表StuScore由學(xué)號(hào),課程代號(hào),成績3個(gè)屬性組成,可記為:

StuScore(學(xué)號(hào),課程代號(hào),成績),其中(學(xué)號(hào),課程代號(hào))為主碼.29例1:查詢考試成績?cè)?0分以上的學(xué)生學(xué)號(hào)。

SELECT學(xué)號(hào)

FROMstuScoreWHERE成績>=80;或者:

SELECTDISTINCT

學(xué)號(hào)

FROMstuScoreWHERE成績>=80;DISTINCT表示將查詢結(jié)果中的重復(fù)信息去掉。

30例2:查詢學(xué)生信息表中姓張的學(xué)生的基本信息。

SELECT*FROMstuInfo

WHERE姓名like'張%';或者:查詢學(xué)生信息表中姓張的學(xué)生且名字為單字的學(xué)生的基本信息。

SELECT*FROMstuInfo

WHERE姓名like'張__';“%”:代表零個(gè)或多個(gè)字符?!癬”:代表一個(gè)字符。

31例3:查詢學(xué)生成績表中成績?cè)?5~90之間的學(xué)生成績信息。

SELECT*FROMstuScoreWHERE成績BETWEEN85AND90;BETWEEN…AND…指明字段值必須滿足的范圍

32例4:查詢學(xué)生信息表中的所有信息并按學(xué)號(hào)降序排序。

SELECT*FROMstuInfo

ORDERBY學(xué)號(hào)DESC;在ORDERBY子句中,ASC表示升序,DESC表示降序。

33例5:查詢各個(gè)班級(jí)的總?cè)藬?shù)。

SELECT班級(jí),COUNT(*)AS人數(shù)

FROMstuInfo

GROUPBY班級(jí);COUNT函數(shù)用于統(tǒng)計(jì)個(gè)數(shù),AS用于起別名。

34例6:查詢學(xué)號(hào)為“20050001”的學(xué)生的總成績、最高分、最低分、平均分。

SELECT

SUM(成績)AS總成績,AVG(成績)

AS

平均成績,MAX(成績)

AS

最高成績,MIN(成績)AS

最低成績

FROMstuScoreWHERE

學(xué)號(hào)='20050001';SUM函數(shù)用于計(jì)算數(shù)值型數(shù)據(jù)的總和AVG函數(shù)用于計(jì)算數(shù)值型數(shù)據(jù)的平均值MAX函數(shù)用于計(jì)算數(shù)值型數(shù)據(jù)的最大值MIN函數(shù)用于計(jì)算數(shù)值型數(shù)據(jù)的最小值

35例7:在成績表中查詢成績不多于2門的學(xué)號(hào)和相應(yīng)門數(shù)。

SELECT學(xué)號(hào),COUNT(*)AS門數(shù)

FROMstuScoreGROUPBY學(xué)號(hào)

HAVINGCOUNT(*)<=2;

36例8:查詢學(xué)生的姓名、課程名、成績。

SELECTstuInfo.姓名,classInfo.課程名稱,stuScore.成績

FROMstuInfo,classInfo,stuScoreWHEREstuInfo.學(xué)號(hào)=stuScore.學(xué)號(hào)andclassInfo.課程代號(hào)=stuScore.課程代號(hào);本例涉及到三個(gè)表之間的關(guān)聯(lián)

37SQL---數(shù)據(jù)更新之插入語句數(shù)據(jù)更新有插入、刪除、更新三種操作插入語句:一次插入一條記錄的格式為:

INSERTINTO表名[(字段名[,字段名]…)]VALUES(常量[,常量]…);

一次插入多條記錄的格式為:

INSERT

INTO

表名[(字段名[,字段名]…)]SELECT

查詢語句;38例9:將一條記錄“1004”、“計(jì)算機(jī)”、“王海”、2插入到課程信息表中。INSERTINTOclassInfo

VALUES(‘1004’,‘計(jì)算機(jī)’,‘王?!?2);例10:將成績表中學(xué)號(hào)為“20050001”的全部記錄插入到scoreBack表中,其中scoreBack是一張新建的表,其表結(jié)構(gòu)與成績表相同。INSERTINTOscoreBack

SELECT*FROMstuScoreWHERE學(xué)號(hào)='20050001';39SQL---數(shù)據(jù)更新之刪除語句刪除語句指從數(shù)據(jù)表中刪除符合條件的記錄。它的格式為:DELETEFROM表名

[WHERE條件表達(dá)式];例11:刪除學(xué)生成績表中學(xué)號(hào)為“20050003”的記錄。DELETEFROMstuScoreWHERE學(xué)號(hào)='20050003';40SQL---數(shù)據(jù)更新之更新語句更新語句指修改數(shù)據(jù)表中符合指定條件記錄的某個(gè)或某些字段值。它的格式為:UPDATE表名SET列名=值表達(dá)式[,列名=值表達(dá)式…][WHERE條件表達(dá)式];例12:修改學(xué)生信息表中學(xué)號(hào)為“20050001”同學(xué)的來源為“河北”。

UPDATEstuInfoSET來源='河北'WHERE學(xué)號(hào)='20050001';41例13:將學(xué)生成績表中全部學(xué)生的成績加上五分作為最終成績。UPDATEstuScoreSET成績=成績+5;

42§5.4ODBC與ADO簡介開放數(shù)據(jù)庫互連標(biāo)準(zhǔn)(OpenDatabaseConnectivity,簡稱ODBC)是Microsoft推出的一種客戶端連接后臺(tái)數(shù)據(jù)庫的技術(shù)。ODBC把SQL作為訪問數(shù)據(jù)庫的標(biāo)準(zhǔn),實(shí)現(xiàn)了用相同的代碼訪問不同數(shù)據(jù)庫格式的。ODBC體系結(jié)構(gòu)主要由數(shù)據(jù)庫應(yīng)用程序、ODBC驅(qū)動(dòng)程序管理器、ODBC驅(qū)動(dòng)程序、ODBC數(shù)據(jù)源四部分組成。

5.4.1ODBC體系結(jié)構(gòu)43

數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫應(yīng)用程序ODBC驅(qū)動(dòng)程序管理器ACCESS驅(qū)動(dòng)程序SQLServer驅(qū)動(dòng)程序Oracle驅(qū)動(dòng)程序ACCESS數(shù)據(jù)源SQLServer數(shù)據(jù)源Oracle數(shù)據(jù)源……

ODBC體系結(jié)構(gòu)44§5.4.2配置ODBC數(shù)據(jù)源ODBC數(shù)據(jù)源管理器窗口451)在Windows2000環(huán)境下,單擊“開始”-“設(shè)置”-“控制面板”,進(jìn)入“控制面板”窗口,再雙擊“管理工具”,進(jìn)入“管理工具”窗口

462)雙擊“數(shù)據(jù)源(ODBC)”,進(jìn)入“ODBC數(shù)據(jù)源管理器”對(duì)話框,選擇“系統(tǒng)DSN”選項(xiàng)卡。473)單擊“添加”按鈕,進(jìn)入“創(chuàng)建新數(shù)據(jù)源”對(duì)話框,選擇“MicrosoftAccessDriver(*.mdb)”。484)單擊“完成”按鈕,進(jìn)入“ODBCMicrosoftAccess安裝”對(duì)話框,在數(shù)據(jù)源名后面的文本框內(nèi)輸入一個(gè)新名稱(班級(jí)學(xué)生)。495)單擊“選擇”按鈕,進(jìn)入“選擇數(shù)據(jù)庫”對(duì)話框,在右邊選擇數(shù)據(jù)庫所在的目錄,左邊選擇指定的數(shù)據(jù)庫。506)單擊兩次“確定”按鈕,返回“ODBC數(shù)據(jù)源管理器”對(duì)話框,可以看到“班級(jí)學(xué)生”數(shù)據(jù)源顯示在“系統(tǒng)DSN”選項(xiàng)卡的列表框中。51§5.4.3ADO簡介ADO對(duì)象模型主要包括連接(Connection)、命令(Command)、記錄集(Recordset)、錯(cuò)誤(Error)、參數(shù)(Parameter)、字段(Field)對(duì)象對(duì)象描述Connection提供了訪問數(shù)據(jù)源的途經(jīng),指定連接的數(shù)據(jù)庫Command將對(duì)數(shù)據(jù)源執(zhí)行的指定命令Recordset執(zhí)行查詢所得到的記錄集Error連接的錯(cuò)誤信息Parameter與命令對(duì)象相關(guān)的參數(shù)Field表示記錄集中的字段信息Property體現(xiàn)

ADO對(duì)象的特性52§5.4.4ADOData控件用ADO控件創(chuàng)建數(shù)據(jù)庫應(yīng)用程序:1)添加ADO控件到工具箱。創(chuàng)建一個(gè)新的VB工程,單擊“工程”菜單-“部件”,打開“部件”對(duì)話框,選中“MicrosoftADODataControl6.0(OLEDB)”-單擊“確定”按鈕。532)雙擊工具箱中的ADO控件將其添加到窗體上并適當(dāng)調(diào)整其位置。3)單擊該控件的ConnectionString屬性右側(cè)的…按鈕,出現(xiàn)“屬性頁”窗口,選擇“使用ODBC數(shù)據(jù)源名稱”,選擇“班級(jí)學(xué)生”數(shù)據(jù)源,單擊“確定”按鈕。544)單擊該控件RecordSource屬性右側(cè)的…按鈕,選擇相應(yīng)的數(shù)據(jù)表。5)至此,ADO控件的配置完畢。在VB窗體上添加標(biāo)簽與文本框控件,文本框的名字從上到下依次為txtNum、txtName、txtClass、txtOrigin

。556)分別設(shè)置各文本框的DataSource屬性和DataField屬性,各文本框的DataSource屬性均為Adodc1,DataField屬性則分別為學(xué)號(hào)、姓名、班級(jí)、來源。7)單擊運(yùn)行按鈕,運(yùn)行結(jié)果如圖所示。565.4.5

ADO編程基于ADO的應(yīng)用程序存取數(shù)據(jù)源的主要步驟如下:1)連接到指定的數(shù)據(jù)源;2)打開記錄集對(duì)象;3)對(duì)記錄集進(jìn)行添加、刪除、修改、查詢記錄等操作;4)關(guān)閉已打開的連接。兩個(gè)ADO對(duì)象:Connection對(duì)象

Recordset對(duì)象571)用CONNECTION對(duì)象連接到數(shù)據(jù)源State屬性:AdStateClosed(關(guān)閉,默認(rèn))

AdStateOpen

(打開)Open方法:打開到數(shù)據(jù)源的連接,如果能成功打開數(shù)據(jù)源,就可以對(duì)它發(fā)出命令并且處理結(jié)果語法為:Connection.OpenConnectionString,UserID,Password,OptionsClose方法:Connectio

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論