一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

第九章 VB的數(shù)據(jù)庫(kù)操作

 nxhujiee 2010-09-08

第九章 VB的數(shù)據(jù)庫(kù)操作

9.1    數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí)

1.計(jì)算機(jī)數(shù)據(jù)管理技術(shù)的發(fā)展

  第一階段:人工管理階段,特點(diǎn)是數(shù)據(jù)不長(zhǎng)期保存,沒(méi)有軟件系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行管理,沒(méi)有文件的概念,一組數(shù)據(jù)對(duì)應(yīng)一個(gè)程序。

  第二階段:采用文件管理方式,特點(diǎn)是數(shù)據(jù)不再是程序的組成部分,而是有組織、有結(jié)構(gòu)地構(gòu)成文件形式,形成數(shù)據(jù)文件;文件管理系統(tǒng)是應(yīng)用程序與數(shù)據(jù)文件的接口。

  第三階段:數(shù)據(jù)庫(kù)管理方式,特點(diǎn)是對(duì)所有數(shù)據(jù)實(shí)行統(tǒng)一、集中、獨(dú)立的管理,數(shù)據(jù)獨(dú)立于程序存在,并可以提供給各類(lèi)不同用戶使用。

2.數(shù)據(jù)庫(kù)的基本概念

 (1)   數(shù)據(jù)庫(kù)(DataBase  DB

       定義:是以一定的組織形式存放在計(jì)算機(jī)存儲(chǔ)介質(zhì)上的相互關(guān)聯(lián)的數(shù)據(jù)的集合。

         特點(diǎn):

            b 具有最小的冗余度

                具有數(shù)據(jù)獨(dú)立性

                實(shí)現(xiàn)數(shù)據(jù)共享

                安全可靠,保密性能好

 (2)  數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBase Management System  DBMS

   定義:操縱和管理數(shù)據(jù)庫(kù)的系統(tǒng)軟件。

   功能:維護(hù)數(shù)據(jù)庫(kù)、接收和完成用戶程序或命令提出的訪問(wèn)數(shù)據(jù)庫(kù)的各種請(qǐng)求。

數(shù)據(jù)語(yǔ)言:z v數(shù)據(jù)定義語(yǔ)言(DDL): 用來(lái)建立所需的數(shù)據(jù)庫(kù)(即設(shè)計(jì)庫(kù)結(jié)構(gòu))
數(shù)據(jù)操作語(yǔ)言(DML): 用來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢和維護(hù)操作。
t數(shù)據(jù)控制語(yǔ)言(DCL): 用來(lái)控制數(shù)據(jù)的訪問(wèn)權(quán)限及事務(wù)管理。

    關(guān)系型數(shù)據(jù)庫(kù)使用的標(biāo)準(zhǔn)語(yǔ)言是結(jié)構(gòu)化查詢語(yǔ)言Structured Query Language, SQL)。

 (3)  數(shù)據(jù)庫(kù)系統(tǒng)(DataBase System  DBS

   定義; 以數(shù)據(jù)庫(kù)應(yīng)用為基礎(chǔ)的計(jì)算機(jī)系統(tǒng)。

   組成:一個(gè)完整的數(shù)據(jù)庫(kù)系統(tǒng)由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)管理員和應(yīng)用程序組成。

數(shù)據(jù)庫(kù)也可以這樣劃分其組成: 硬件:計(jì)算機(jī)硬件設(shè)備
軟件:數(shù)據(jù)庫(kù)管理系統(tǒng) 、操作系統(tǒng)、開(kāi)發(fā)工具、應(yīng)用程序
用戶:應(yīng)用程序設(shè)計(jì)員、終端用戶、數(shù)據(jù)庫(kù)管理員

 

分類(lèi) 層次型數(shù)據(jù)庫(kù)
網(wǎng)狀型數(shù)據(jù)庫(kù)
網(wǎng)狀型數(shù)據(jù)庫(kù)

 

分代 第一代  非關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)60年代末問(wèn)世,包括層次型和網(wǎng)狀型
第二代  關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)(RDBS)70年代中期問(wèn)世
第三代  對(duì)象-關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)(ORDBS 、OOBDS)80年代中期至今

    上述三個(gè)概念之間的聯(lián)系:在數(shù)據(jù)庫(kù)系統(tǒng)中通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)建立和使用數(shù)據(jù)庫(kù)。

3數(shù)據(jù)模型                     

     數(shù)據(jù)模型:即描述實(shí)體模型的數(shù)據(jù)。

        

數(shù)據(jù)模型的分類(lèi) 層次模型(采用樹(shù)型結(jié)構(gòu))
網(wǎng)絡(luò)模型(采用無(wú)向圖型結(jié)構(gòu))
關(guān)系模型(采用二維表結(jié)構(gòu))

 

關(guān)系模型的性質(zhì): 
二維表的記錄數(shù)隨數(shù)據(jù)的增加而改變,但其字段數(shù)是相對(duì)固定的
二維表中的每一列均有唯一的字段名
二維表中不允許出現(xiàn)完全相同的兩行
二維表中行的順序、列的順序均可以任意交換

4. 關(guān)系型數(shù)據(jù)庫(kù)的基本結(jié)構(gòu)

  關(guān)系型數(shù)據(jù)庫(kù)的基本結(jié)構(gòu)是一張二維表,包括以下概念:

 (1) 記錄(Record:數(shù)據(jù)表中的每一行數(shù)據(jù)

 (2) 字段(Field:數(shù)據(jù)表中的每一列,表頭(第一行)的內(nèi)容為字段名

 (3) 數(shù)據(jù)表(Table:相關(guān)數(shù)據(jù)組成的二維表格

 (4) 數(shù)據(jù)庫(kù)(Database:相關(guān)數(shù)據(jù)表的集合

 (5) 關(guān)系(Relation:相關(guān)表之間通過(guò)相關(guān)聯(lián)的字段建立的聯(lián)系。

  6 索引(Index:指按表文件中某個(gè)關(guān)鍵字段或表達(dá)式建立記錄的邏輯順序。它是由一系列記錄號(hào)組成的一個(gè)列表,目的是提供對(duì)數(shù)據(jù)的快速訪問(wèn)。索引不改變表中記錄的物理順序。

  索引關(guān)鍵字(索引表達(dá)式):用來(lái)建立索引的一個(gè)字段或字段表達(dá)式。

ngf  數(shù)據(jù)庫(kù)和數(shù)據(jù)表可以通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)軟件來(lái)建立,如:Access,Visual FoxPro,SQL Server 、Sybase Oracle。在VB環(huán)境下可以直接建立Access數(shù)據(jù)庫(kù)。

  關(guān)系型數(shù)據(jù)表的特點(diǎn)1)每一個(gè)字段不可再分解,也不能有名字相同的字段

                           hgfhgfyh2)每一列中的數(shù)據(jù)都有相同的數(shù)據(jù)類(lèi)型;

                      hfyftytfyyy3)表中沒(méi)有內(nèi)容完全相同的行(記錄)。

5.查詢的概念

  查詢(query:從相關(guān)數(shù)據(jù)表中選取符合特定要求的數(shù)據(jù)。

  創(chuàng)建方法:可以通過(guò)查詢生成器創(chuàng)建一個(gè)查詢,也可以在SQL窗口直接用SELECTSQL命令寫(xiě)出查詢。

9.2    數(shù)據(jù)庫(kù)管理器

1.  數(shù)據(jù)庫(kù)管理器介紹

  VB中可以通過(guò)“外接程序”菜單中的“可視化數(shù)據(jù)管理器”調(diào)出“VisData”數(shù)據(jù)庫(kù)管理器窗口。

菜單選項(xiàng)

功能描述

文件

打開(kāi)數(shù)據(jù)庫(kù)

打開(kāi)指定的數(shù)據(jù)庫(kù)

新建

根據(jù)所選類(lèi)型建立新數(shù)據(jù)庫(kù)

導(dǎo)入/導(dǎo)出

從其他數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)表,或?qū)С鰯?shù)據(jù)表及SQL查詢結(jié)果

工作空間

顯示注冊(cè)對(duì)話框注冊(cè)新工作空間,用新輸入的用戶名和密碼從新的工作空間重新打開(kāi)當(dāng)前數(shù)據(jù)庫(kù)。

壓縮MDB

壓縮指定的Access數(shù)據(jù)庫(kù),創(chuàng)建一個(gè)加密或解密文件。

修復(fù)MDB

修復(fù)指定的Access數(shù)據(jù)庫(kù)

實(shí)用程序

查詢生成器

建立、查看、執(zhí)行和存儲(chǔ)SQL查詢

數(shù)據(jù)窗口設(shè)計(jì)器

創(chuàng)建數(shù)據(jù)窗體并將其添加到VB工程中

全局替換

創(chuàng)建SQL表達(dá)式并更新所選數(shù)據(jù)表中滿足條件的記錄

附加

顯示當(dāng)前Access數(shù)據(jù)庫(kù)中所有附加數(shù)據(jù)表及連接條件

用戶組/用戶

查看和修改用戶組、用戶、權(quán)限等設(shè)置

System.mda

創(chuàng)建System.mda文件,以便為每個(gè)文件設(shè)置安全機(jī)制

性能選項(xiàng)

設(shè)置超時(shí)值

2. 建立數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)的基本操作:
創(chuàng)建數(shù)據(jù)表:
設(shè)計(jì)表名和表結(jié)構(gòu)
輸入記錄
建立索引
數(shù)據(jù)維護(hù): 
增加記錄
修改記錄
刪除記錄

     創(chuàng)建數(shù)據(jù)表的主要步驟 設(shè)計(jì)表結(jié)構(gòu) 輸入記錄 建立索引 數(shù)據(jù)維護(hù)

  1)設(shè)計(jì)表結(jié)構(gòu)

    啟動(dòng)可視化數(shù)據(jù)管理器 database窗口中右擊,從菜單中選擇“新表” 在表結(jié)構(gòu)窗口中輸入表名→ 添加字段 確定字段名稱(chēng)和屬性、有效性規(guī)則 建立索引 →生成表結(jié)構(gòu)。

   “添加字段”對(duì)話框各選項(xiàng)說(shuō)明

選項(xiàng)名

描述

名稱(chēng)

即每個(gè)字段的名字(對(duì)所用字符沒(méi)有什么限制)

類(lèi)型

指該字段的數(shù)據(jù)特征,包括:BooleanByte、IntegerLong、CurrencySingle、Double、Date/Time、TextBinary(二進(jìn)制型,存放圖片)、Memo(備注型,存放長(zhǎng)文本)

大小

字段寬度,指該字段所能容納數(shù)據(jù)的的最大字節(jié)數(shù)

固定字段

字段寬度固定不變

可變字段

字段寬度可變

允許零長(zhǎng)度

表示空字符串可作為有效的字段值

必要的

表示該字段值不可缺少

順序位置

字段在表中的順序位置

驗(yàn)證文本

當(dāng)向表中輸入無(wú)效值時(shí)系統(tǒng)顯示的提示信息

驗(yàn)證規(guī)則

驗(yàn)證輸入字段值的簡(jiǎn)單規(guī)則,目的是使所輸數(shù)據(jù)符合設(shè)定的條件

默認(rèn)值

在輸入時(shí)設(shè)置的字段初始值,以減少輸入重復(fù)性數(shù)據(jù)時(shí)的工作量

  2)輸入記錄

        database窗口中選中表名并右擊,從菜單中選擇“打開(kāi)” →在數(shù)據(jù)表窗口輸入記錄(注意窗口樣式)→ 單擊“新增”→ 在窗口中輸入記錄并“更新” →重復(fù)……

  (3)  維護(hù)記錄

     database窗口中選中表名并右擊,從菜單中選擇“打開(kāi)” →單擊“編輯”/“刪除”/“新增”,即可完成對(duì)記錄的修改、刪除、添加操作。

3.  建立查詢

  建立查詢就是在數(shù)據(jù)表中找到符合特定條件的記錄并組成一張新表。

   database窗口中選中表名并右擊,從菜單中選擇“新查詢” →在查詢生成器中構(gòu)造查詢條件→單擊“運(yùn)行” →單擊“保存”,給出查詢結(jié)果文件名→“關(guān)閉”。

 查詢生成器說(shuō)明

各選項(xiàng)

描述

查詢表達(dá)式

設(shè)置查詢應(yīng)該滿足的基本條件,可以用and /or來(lái)設(shè)置應(yīng)滿足的多個(gè)條件

/字段名

設(shè)置查詢結(jié)果中將顯示的字段名,單擊一個(gè)加亮便選中了

前百分之幾條

只顯示查詢結(jié)果中的前若干條記錄

N條記錄

只顯示查詢結(jié)果中的前N條記錄

“運(yùn)行”按鈕

執(zhí)行查詢命令,并顯示出查詢結(jié)果

“顯示”按鈕

用消息框顯示SQL命令

“復(fù)制”按鈕

SQL命令復(fù)制到SQL窗口

“保存”按鈕

將查詢結(jié)果取個(gè)名并保存到數(shù)據(jù)庫(kù)中

“清除”按鈕

清除條件列表框中的查詢條件

分組條件

將查詢結(jié)果分組,一般每組只有一個(gè)記錄

排序條件

將查詢結(jié)果按順序顯示出來(lái),ASC(升序)、DESC(降序)

連接條件

設(shè)置相關(guān)表之間的連接字段

9.3    數(shù)據(jù)控件

1. 數(shù)據(jù)控件的建立

  VB工具箱中單擊Data控件,在窗體上畫(huà)出數(shù)據(jù)控件即可。

2. 數(shù)據(jù)控件的屬性

屬性名稱(chēng)

作用

Connect

指定數(shù)據(jù)控件所要連接的數(shù)據(jù)庫(kù)類(lèi)型,VB默認(rèn)的是AccessMDB數(shù)據(jù)庫(kù),也可以連接DBF、XLSODBC等數(shù)據(jù)庫(kù)

DatabaseName

指定具體使用的數(shù)據(jù)庫(kù)文件名,包括路徑名

RecordSource

指定具體可訪問(wèn)的數(shù)據(jù),這些數(shù)據(jù)構(gòu)成記錄集對(duì)象Recordset對(duì)象,可以是數(shù)據(jù)庫(kù)中的單個(gè)表名、一個(gè)存儲(chǔ)查詢,也可以是SQL查詢命令

RecordsetType

確定記錄集類(lèi)型,有三種: 0——Table(表); 1——Dynaset(動(dòng)態(tài),默認(rèn)的) ;2——Snapshot(快照)

BofAction

當(dāng)記錄指針指向記錄集的開(kāi)始時(shí),確定數(shù)據(jù)控件該采取的操作:

0——控件重定位到第一個(gè)記錄

1——移過(guò)記錄集開(kāi)始位,定位到一個(gè)無(wú)效記錄,觸發(fā)數(shù)據(jù)控件對(duì)第一個(gè)記錄的無(wú)效事件Validate

EofAction

當(dāng)記錄指針指向記錄集的結(jié)束時(shí),確定數(shù)據(jù)控件該采取的操作:

0——控件重定位到最后一個(gè)記錄

1——移過(guò)記錄集結(jié)束位,定位到一個(gè)無(wú)效記錄,觸發(fā)數(shù)據(jù)控件對(duì)最后一個(gè)記錄的無(wú)效事件Validate

2——向記錄集加入新的空記錄,可以對(duì)新記錄進(jìn)行編輯,移動(dòng)記錄指針新記錄寫(xiě)入數(shù)據(jù)庫(kù)

  綁定控件、數(shù)據(jù)控件、數(shù)據(jù)庫(kù)之間的關(guān)系:

  綁定控件的屬性

        DataSource——通過(guò)一個(gè)有效的數(shù)據(jù)控件連接到一個(gè)數(shù)據(jù)庫(kù)上。

        DataField——將數(shù)據(jù)庫(kù)中的有效字段連接到綁定控件上。

  除了常規(guī)控件外,可以與Data數(shù)據(jù)控件綁定的控件有:

控件名稱(chēng)

部件名稱(chēng)

常用屬性

MSFlexGrid

Microsoft  FlexGrid Control 6.0OLE DB

DataSourse

DBCombo

Microsoft Data Bound List Controls 6.0

DataFieldDataSource、ListFieldRowSource、BoundColumn

DBList

DBGrid

Microsoft Data Bound Grid Control 5.0SP3

DataSourse

3.   數(shù)據(jù)控件的事件  

事件名稱(chēng)

觸發(fā)時(shí)間

Reposition

發(fā)生在一條記錄成為當(dāng)前記錄后。只要將記錄指針從一條記錄移動(dòng)到另一條記錄就會(huì)觸發(fā)。

Validate

在一條不同的記錄成為當(dāng)前記錄之前,Update 方法之前(用 UpdateRecord 方法保存數(shù)據(jù)時(shí)除外);以及 DeleteUnload Close 操作之前會(huì)發(fā)生該事件。它檢查被數(shù)據(jù)控件綁定的控件內(nèi)的數(shù)據(jù)是否發(fā)生變化。

語(yǔ)法:Private Sub Data_Validate(Action As Integer, Save As Integer) …… End Sub

   Validate事跡的 Action參數(shù)

Action

描述

Action

描述

0

取消對(duì)數(shù)據(jù)控件的操作

6

Update 操作

1

MoveFirst 方法

7

Delete 方法

2

MovePrevious 方法

8

Find 方法

3

MoveNext 方法

9

設(shè)置Bookmark 屬性

4

MoveLast 方法。

10

Close 的方法

5

AddNew 方法

11

卸載窗體

4.  數(shù)據(jù)控件的常用方法

方法名稱(chēng)

作用

示例

Refresh

激活數(shù)據(jù)控件,使各用戶對(duì)數(shù)據(jù)庫(kù)的操作有效。

Data1.Refresh

UpdateControls

將數(shù)據(jù)從數(shù)據(jù)庫(kù)中重新讀到數(shù)據(jù)控件綁定的控件內(nèi),通過(guò)它可以終止用戶對(duì)綁定控件內(nèi)數(shù)據(jù)的修改。

放棄修改按鈕代碼:

Data1. UpdateControls

UpdateRecord

強(qiáng)制數(shù)據(jù)控件將綁定控件內(nèi)的數(shù)據(jù)寫(xiě)入到數(shù)據(jù)庫(kù)中,不再觸發(fā)Validate事件

確認(rèn)修改按鈕代碼:

Data1. UpdateRecord

5. 記錄集的屬性與方法

名稱(chēng)

作用

屬性

AbsolutePostion

返回當(dāng)前指針值,如果是第一條記錄,其值為0;是只讀屬性

Bof / Eof

Bof判斷記錄指針是否在首記錄之前,若是則為True;Eof判斷記錄指針是否在末記錄之后,若是則為True

Bookmark

用于設(shè)置或返回當(dāng)前指針的標(biāo)簽,可以用在在程序中重定位記錄集的指針,其值采用字符串類(lèi)型。

NoMatch

在記錄集中進(jìn)行查找時(shí),如果找到相匹配的記錄,則為Falue,找不到則為True。

RecordCount

對(duì)Recordset對(duì)象中的記錄記數(shù),為了準(zhǔn)確起見(jiàn),在記數(shù)前用MoveLast方法將記錄指針移到最后一條記錄上;是只讀屬性。

方法

Move

用于移動(dòng)記錄指針,共有5種方法:

MoveFirst——將指針移到第1條記錄

MoveLast——將指針移到最后一條記錄

MoveNext——將指針移到下一條記錄

MovePrevious——將指針移到上一條記錄

Move  n——將指針向前或向后移動(dòng)n條記錄

Find

在指定的Dynaset Snapshop類(lèi)型的Recordset對(duì)象中查找與指定條件相符的一條記錄,并使之成為當(dāng)前記錄,共有4種方法:

FindFirst——從記錄集的開(kāi)始查找滿足條件的第1條記錄

FindLast——從記錄集的尾部向前查找滿足條件的第1條記錄

FindNext——從當(dāng)前記錄開(kāi)始查找滿足條件的下一條記錄

FindPrevious——從當(dāng)前記錄開(kāi)始查找滿足條件的上一條記錄

語(yǔ)法格式舉例:

Data1.Recordset.FindFirst "課程名='計(jì)算機(jī)基礎(chǔ)' "

Find方法支持通配符,默認(rèn)情況下忽略大小寫(xiě),可以添加說(shuō)明改變默認(rèn)設(shè)置: Option Compare Text (與大小寫(xiě)無(wú)關(guān))

       Option Compare Binary (與大小寫(xiě)有關(guān))

如果找不到相匹配的記錄,當(dāng)前記錄保持在查找的始發(fā)處;如果找到了,則指針定位到該記錄。

Seek

使用該方法必需打開(kāi)表的索引,它在Table表中查找與指定索引規(guī)則相符的第一條記錄,并使其成為當(dāng)前記錄。

語(yǔ)法格式舉例:

Data1.Recordset.Index= "課程名"

Data1.Recordset.Seek "=", "計(jì)算機(jī)基礎(chǔ)"

6. 利用數(shù)據(jù)控件對(duì)數(shù)據(jù)庫(kù)進(jìn)行增、刪、改操作

操作項(xiàng)目

操作方法

注意事項(xiàng)

增加記錄

1) 調(diào)用AddNew方法:Data1.Recordset. AddNew

2) 給各字段賦值:Recordset.Fields("字段名")=值或在綁定控件中直接輸入內(nèi)容

3) 調(diào)用Update方法,將緩沖區(qū)內(nèi)的數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù):

       Data1.Recordset. Update

4) 調(diào)用MoveLast方法顯示新記錄:

     Data1.Recordset. MoveLast

如果缺少第3)步而將指針移動(dòng)到其他記錄或關(guān)閉了記錄,則所做的輸入全部丟失;若沒(méi)有第4)步。雖然加入了新記錄,但記錄指針自動(dòng)返回到添加新記錄前的位置上,并不顯示新記錄。

刪除記錄

1)    定位被刪除記錄使之成為當(dāng)前記錄(用MoveFind方法)

2)    調(diào)用Delete方法:Data1.Recordset. Delete

3)    調(diào)用MoveNext方法移動(dòng)記錄指針

使用Delete方法時(shí),當(dāng)前記錄立即刪除,但被數(shù)據(jù)庫(kù)約束的綁定控件仍舊顯示該記錄的內(nèi)容,故必須用第3)步刷新綁定控件。

修改記錄

1) 調(diào)用Edit方法:Data1.Recordset. Edit

2) 給各字段賦值:在綁定控件中直接修改

3) 調(diào)用Update方法,確定所做的修改:

      Data1.Recordset. Update

如果要放棄對(duì)數(shù)據(jù)的所有修改,可在第3)步之前用Refresh方法,重讀數(shù)據(jù)庫(kù),刷新記錄。

9.4     ADO數(shù)據(jù)控件

1. 什么是ADO?

  ADOActiveX Data Object)數(shù)據(jù)訪問(wèn)接口是微軟處理數(shù)據(jù)庫(kù)信息的最新技術(shù),它是一種ActiveX對(duì)象,采用了OLE DB(動(dòng)態(tài)連接與嵌入數(shù)據(jù)庫(kù))的數(shù)據(jù)訪問(wèn)模式,是數(shù)據(jù)訪問(wèn)對(duì)象DAO、遠(yuǎn)程數(shù)據(jù)對(duì)象RDO和開(kāi)放式數(shù)據(jù)庫(kù)互連ODBC三種方式的擴(kuò)展。

  要使用ADO對(duì)象必需先為當(dāng)前工程引用ADO對(duì)象庫(kù),方法是: 執(zhí)行“工程”菜單中的“引用”命令,在對(duì)話框中選中“Microsoft ActiveX Data Object 2.0 Library”。

  ADO對(duì)象描述

對(duì)象名

描述

Connection

連接數(shù)據(jù)來(lái)源

Command

從數(shù)據(jù)源獲取所需數(shù)據(jù)的命令信息

Recordset

所獲取的一組記錄組成的記錄集

Error

在訪問(wèn)數(shù)據(jù)庫(kù)時(shí),由數(shù)據(jù)源所返回的錯(cuò)誤信息

Parameter

與命令對(duì)象相關(guān)的參數(shù)

Field

包含了記錄集中某個(gè)字段的信息

2.使用ADO數(shù)據(jù)控件

 (1)  添加ADO數(shù)據(jù)控件

    從“工程”菜單中選擇“部件”命令,在對(duì)話框中選中“Microsoft ADO Data ControlS 6.0OLE DB)”,將其添加到工具箱,并在窗體上拖劃出ADO數(shù)據(jù)控件。

 (2)  ADO數(shù)據(jù)控件的基本屬性

屬性名

作用

ConnectionString

用來(lái)與數(shù)據(jù)庫(kù)建立連接,它包括4個(gè)參數(shù):

Provide——指定數(shù)據(jù)源的名稱(chēng)

FileName——指定數(shù)據(jù)源所對(duì)應(yīng)的文件名

RemoteProvide——在遠(yuǎn)程數(shù)據(jù)服務(wù)器打開(kāi)一個(gè)客戶端時(shí)所用的數(shù)據(jù)源名稱(chēng)

RemoteServer——在遠(yuǎn)程數(shù)據(jù)服務(wù)器打開(kāi)一個(gè)主機(jī)端時(shí)所用的數(shù)據(jù)源名稱(chēng)

RecordSource

確定具體可訪問(wèn)的數(shù)據(jù),可以是數(shù)據(jù)庫(kù)中的單個(gè)表名、一個(gè)存儲(chǔ)查詢或一個(gè)SQL查詢字符串

ConnectionTimeout

設(shè)置數(shù)據(jù)連接的超時(shí)時(shí)間,若在指定時(shí)間內(nèi)連接不成功則顯示超時(shí)信息

MaxRecords

確定從一個(gè)查詢中最多能返回的記錄數(shù)

 (3)  ADO數(shù)據(jù)控件的屬性設(shè)置

   1)先在窗體上放置一個(gè)ADO數(shù)據(jù)控件

   2)ADO屬性窗口中單擊ConnectionString屬性右邊的…按鈕,從對(duì)話框中選擇連接數(shù)據(jù)源的方式:

       使用連接字符串——單擊“生成”按鈕,通過(guò)選項(xiàng)設(shè)置系統(tǒng)自動(dòng)產(chǎn)生連接字符串

        使用Data Link文件——通過(guò)一個(gè)連接文件來(lái)完成

        使用ODBC數(shù)據(jù)資源名稱(chēng)——在下拉列表中選擇某個(gè)創(chuàng)建好的數(shù)據(jù)源名稱(chēng)作為數(shù)據(jù)來(lái)源對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)進(jìn)行控制。

   3)ADO屬性窗口中單擊RecordSource屬性右邊的…按鈕,在“命令類(lèi)型”中選擇2——adCmdTable,在“表或存儲(chǔ)過(guò)程名稱(chēng)”中選擇所需要的表。

   以上2)、3)可以合并成一步:在ADO控件上單擊右鍵,從快捷菜單中選擇ADODC屬性,直接在屬性頁(yè)對(duì)話框中進(jìn)行所有設(shè)置。

 (4) ADO數(shù)據(jù)控件的方法和事件

      Data數(shù)據(jù)控件完全相同。

 (5) ADO上新增綁定控件

     可以從“工程”的“部件”中添加如下綁定控件:

控件名稱(chēng)

部件名稱(chēng)

常用屬性

DataGrid

Microsoft DataGrid Control 6.0OLE DB

DataSource

DataCombo

Microsoft DataList Controls 6.0OLE DB

DataField、DataSource、ListFieldRowSource、BoundColumn

DataList

MSChart

Microsoft Chart Control 6.0OLE DB

DataSource

3.  使用數(shù)據(jù)窗體向?qū)?/span>

    從“外接程序”菜單中選擇“外接程序管理器”,在對(duì)話框中選中VB6數(shù)據(jù)窗體向?qū)В?#8220;加載”并“確定”,再?gòu)?#8220;外接程序”菜單中選擇“數(shù)據(jù)窗體向?qū)?#8221;,然后根據(jù)系統(tǒng)提示逐步操作即可創(chuàng)建所需要的數(shù)據(jù)窗體,系統(tǒng)自動(dòng)把所創(chuàng)建的窗體加到工程中。

9.5     結(jié)構(gòu)化查詢語(yǔ)言

1.SQL的基本組成

  SQL語(yǔ)言由命令、子句、運(yùn)算、函數(shù)等組成:

 (1) SQL命令

命令

功能

CREATE

用于建立新的數(shù)據(jù)表結(jié)構(gòu)

DROP

用于刪除數(shù)據(jù)庫(kù)中的數(shù)據(jù)表及其索引

ALTER

用于修改數(shù)據(jù)表結(jié)構(gòu)

SELECT

用于查找符合特定條件的某些記錄

INSERT

用于向數(shù)據(jù)表中加入數(shù)據(jù)

UPDATE

用于更新特定記錄或字段的數(shù)據(jù)

DELETE

用于刪除記錄

 (2) SQL子句

子句

功能

FROM

用于指定數(shù)據(jù)所在的數(shù)據(jù)表

WHERE

用于指定數(shù)據(jù)需要滿足的條件

GROUP BY

將選定的記錄分組

HAVING

用于說(shuō)明每個(gè)群組需要滿足的條件

ORDER BY

用于確定排序依據(jù)

INTO

查詢結(jié)果去向

 (3)  SQL運(yùn)算符

邏輯運(yùn)算符

And () Or()、 Not()

比較運(yùn)算符

<   <=   >   >=    =   <>

 (4)   SQL函數(shù)

AVG

COUNT

SUM

MAX

MIN

求平均值

計(jì)數(shù)

求和

求最大值

求最小值

2. SQL語(yǔ)句的應(yīng)用

語(yǔ)句功能

語(yǔ)法格式

建立數(shù)據(jù)表

CREATE  TABLE  數(shù)據(jù)表名 (字段名數(shù)據(jù)類(lèi)型(長(zhǎng)度),  字段名數(shù)據(jù)類(lèi)型(長(zhǎng)度),……)

舉例:create  table  student(xh  text(9),  xm  text(8) , cj  single(4), nl integer(2)) 

   建立含有xhxm、cjnl  4個(gè)字段的student

添加字段

ALTER  TABLE  數(shù)據(jù)表名 ADD  COLUMN  字段名  數(shù)據(jù)類(lèi)型(長(zhǎng)度)

舉例:alter  table  student  add column  xb  text(2)  '在學(xué)生表中添加性別字段

刪除字段

ALTER  TABLE  數(shù)據(jù)表名 DROP  COLUMN  字段名

舉例: alter  table  student  drop  column  nl  '將學(xué)生表中的年齡字段刪除

數(shù)據(jù)查詢

SELECT 字段名表 FROM 子句  WHERE 子句 GROUP BY  子句HAVING  子句 ORDER BY 子句 INTO 子句

舉例:select  xh, xm  from  student  where  xb=""  order  by  xh

從學(xué)生表中查詢性別為男的學(xué)生,顯示其學(xué)號(hào)和姓名并使結(jié)果按學(xué)號(hào)升序排列。

添加記錄

INSERT INTO 數(shù)據(jù)表名字段名1,字段名2…… VALUES數(shù)據(jù)1,數(shù)據(jù)2……

舉例:insert  into  student (xh, xm, xb)  values("015200101", "王小二", "")

刪除記錄

DELETE  FROM  數(shù)據(jù)表名 WHERE 條件表達(dá)式

舉例:delete  from  student  where  xb=""

更新記錄

UPDATE  數(shù)據(jù)表名  SET  新數(shù)據(jù)值  WHERE  條件表達(dá)式

舉例:update  student  set  cj=cj+5  where  xb=""

9.6    報(bào)表制作

1.  報(bào)表的概念

  利用報(bào)表可以把數(shù)據(jù)表中的數(shù)據(jù)按一定的格式輸出到屏幕上或打印到紙上。

2.  制作報(bào)表的方法

  VB6.0中可以利用報(bào)表設(shè)計(jì)器來(lái)制作報(bào)表,從“工程”中選擇“添加data report”,將報(bào)表設(shè)計(jì)器加入到當(dāng)前工程中,報(bào)表由5部分組成:

  報(bào)表標(biāo)頭——每份報(bào)表只有一個(gè),可以用標(biāo)簽建立報(bào)表名。

  頁(yè)標(biāo)頭——每頁(yè)有一個(gè),即每頁(yè)的表頭,如字段名。

  細(xì)節(jié)——需要輸出的具體數(shù)據(jù),一行一條記錄。

  頁(yè)腳注——每頁(yè)有一個(gè),如頁(yè)碼。

  報(bào)表腳注——每份報(bào)表只有一個(gè),可以用標(biāo)簽建立對(duì)本報(bào)表的注釋、說(shuō)明。

      使用報(bào)表設(shè)計(jì)器處理的數(shù)據(jù)需要利用數(shù)據(jù)環(huán)境設(shè)計(jì)器創(chuàng)建與數(shù)據(jù)庫(kù)的連接, 從“工程”菜單中選擇 “添加Data Enviroment”,在連接中選擇指定的數(shù)據(jù)庫(kù)文件,完成與數(shù)據(jù)庫(kù)的連接,然后產(chǎn)生Command對(duì)象連接數(shù)據(jù)庫(kù)內(nèi)的表。

  制作報(bào)表的步驟:

   (1) 新建工程,在窗體上放置兩個(gè)命令按鈕;

   (2) 從“工程”菜單中“添加Data Enviroment”,右擊Connection1,在屬性中選擇“Microsoft Jet 4 OLE DB Provider”,在“連接”中指定數(shù)據(jù)庫(kù);

   (3) 再次右擊Connection1,選則“添加命令”,創(chuàng)建Command1對(duì)象,右擊Command1,在屬性中設(shè)置該對(duì)象連接的數(shù)據(jù)源為需要打印的數(shù)據(jù)表;

   (4) 在從“工程”菜單中“添加Data Report”,在屬性窗口中設(shè)置DataSource為數(shù)據(jù)環(huán)境DataEnviroment1對(duì)象,DataMemberCommand1對(duì)象,即指定數(shù)據(jù)報(bào)表設(shè)計(jì)器DataReport1的數(shù)據(jù)來(lái)源;

   (5) 將數(shù)據(jù)環(huán)境設(shè)計(jì)器中Command1對(duì)象內(nèi)的字段拖到數(shù)據(jù)報(bào)表設(shè)計(jì)器的細(xì)節(jié)區(qū);

   (6) 利用標(biāo)簽控件在報(bào)表標(biāo)頭區(qū)插入報(bào)表名,在頁(yè)標(biāo)頭區(qū)設(shè)置報(bào)表每一頁(yè)頂部的標(biāo)題;

   (7) 利用線條控件在報(bào)表內(nèi)加入直線,利用圖形控件和形狀控件加入圖案或圖形;

   (8) 利用DataReport1對(duì)象的Show方法顯示報(bào)表,在窗體Click事件加代碼:DataReport1.Show

   (9) 利用預(yù)覽窗口按打印按鈕可以打印報(bào)表;

   (10)       利用預(yù)覽窗口工具欄上的導(dǎo)出按鈕可以將報(bào)表內(nèi)容輸出成文本文件或Html文件;也可以利用DataReport1對(duì)象的ExportReport方法將報(bào)表內(nèi)容輸出成文本文件或Html文件。

   制作報(bào)表的簡(jiǎn)單方法是從“外接程序”中選擇報(bào)表向?qū)?lái)設(shè)計(jì)報(bào)表。

9.7    MIS系統(tǒng)設(shè)計(jì)示例

學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)

1.    建立工程文件

2.    設(shè)計(jì)系統(tǒng)主界面,驗(yàn)證用戶身份

3.    建立Access數(shù)據(jù)庫(kù),輸入若干記錄

4.    設(shè)計(jì)帶菜單的主窗體,把其他窗體組織起來(lái)

5.    根據(jù)需要完成系統(tǒng)功能,設(shè)計(jì)帶數(shù)據(jù)控件的各種窗體

6.    調(diào)試、修改

7.    生成EXE文件

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多

    婷婷激情五月天丁香社区| 亚洲性日韩精品一区二区| 日韩精品免费一区二区三区| 五月天婷亚洲天婷综合网| 丰满人妻一二区二区三区av | 麻豆最新出品国产精品| 亚洲精品国男人在线视频| 熟女免费视频一区二区| 91人妻人人精品人人爽| 久久免费精品拍拍一区二区| 日韩一区二区三区四区乱码视频| 国产日韩欧美一区二区| 久久精品国产99国产免费| 亚洲伦片免费偷拍一区| 久久午夜福利精品日韩| 中文字幕亚洲精品在线播放| 国产精品久久男人的天堂| 国产偷拍精品在线视频| 国产亚洲欧美日韩精品一区| 欧美特色特黄一级大黄片| 成人午夜视频精品一区| 亚洲综合激情另类专区老铁性| 美女被后入视频在线观看| 在线免费观看一二区视频| 熟女高潮一区二区三区| 日本人妻丰满熟妇久久| 国产一区二区不卡在线视频| 香蕉久久夜色精品国产尤物| 精品老司机视频在线观看| 精品人妻一区二区三区在线看| 国产精品成人免费精品自在线观看| 国产精品久久香蕉国产线| 亚洲一级二级三级精品| 欧美日韩综合综合久久久| 日本福利写真在线观看| 国产成人精品视频一区二区三区 | 精品久久少妇激情视频| 五月综合婷婷在线伊人| 99久久无色码中文字幕免费| 精品国产丝袜一区二区| 欧美日韩亚洲精品在线观看|