9.1 數(shù)據(jù)庫的基礎(chǔ)知識
1.計(jì)算機(jī)數(shù)據(jù)管理技術(shù)的發(fā)展
第一階段:人工管理階段,特點(diǎn)是數(shù)據(jù)不長期保存,沒有軟件系統(tǒng)對數(shù)據(jù)進(jìn)行管理,沒有文件的概念,一組數(shù)據(jù)對應(yīng)一個(gè)程序。
第二階段:采用文件管理方式,特點(diǎn)是數(shù)據(jù)不再是程序的組成部分,而是有組織、有結(jié)構(gòu)地構(gòu)成文件形式,形成數(shù)據(jù)文件;文件管理系統(tǒng)是應(yīng)用程序與數(shù)據(jù)文件的接口。
第三階段:數(shù)據(jù)庫管理方式,特點(diǎn)是對所有數(shù)據(jù)實(shí)行統(tǒng)一、集中、獨(dú)立的管理,數(shù)據(jù)獨(dú)立于程序存在,并可以提供給各類不同用戶使用。
2.?dāng)?shù)據(jù)庫的基本概念
(1) 數(shù)據(jù)庫(DataBase DB)
定義:是以一定的組織形式存放在計(jì)算機(jī)存儲介質(zhì)上的相互關(guān)聯(lián)的數(shù)據(jù)的集合。
特點(diǎn):
b具有最小的冗余度
具有數(shù)據(jù)獨(dú)立性
實(shí)現(xiàn)數(shù)據(jù)共享
安全可靠,保密性能好
(2) 數(shù)據(jù)庫管理系統(tǒng)(DataBase ManagementSystem DBMS)
定義:是操縱和管理數(shù)據(jù)庫的系統(tǒng)軟件。
功能:維護(hù)數(shù)據(jù)庫、接收和完成用戶程序或命令提出的訪問數(shù)據(jù)庫的各種請求。
數(shù)據(jù)語言:z v數(shù)據(jù)定義語言(DDL): 用來建立所需的數(shù)據(jù)庫(即設(shè)計(jì)庫結(jié)構(gòu))
數(shù)據(jù)操作語言(DML): 用來對數(shù)據(jù)庫進(jìn)行查詢和維護(hù)操作。
t數(shù)據(jù)控制語言(DCL): 用來控制數(shù)據(jù)的訪問權(quán)限及事務(wù)管理。
關(guān)系型數(shù)據(jù)庫使用的標(biāo)準(zhǔn)語言是結(jié)構(gòu)化查詢語言(Structured QueryLanguage, SQL)。
(3) 數(shù)據(jù)庫系統(tǒng)(DataBase System DBS)
定義; 以數(shù)據(jù)庫應(yīng)用為基礎(chǔ)的計(jì)算機(jī)系統(tǒng)。
組成:一個(gè)完整的數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫管理員和應(yīng)用程序組成。
數(shù)據(jù)庫也可以這樣劃分其組成: 硬件:計(jì)算機(jī)硬件設(shè)備
軟件:數(shù)據(jù)庫管理系統(tǒng) 、操作系統(tǒng)、開發(fā)工具、應(yīng)用程序
用戶:應(yīng)用程序設(shè)計(jì)員、終端用戶、數(shù)據(jù)庫管理員
分類 層次型數(shù)據(jù)庫
網(wǎng)狀型數(shù)據(jù)庫
網(wǎng)狀型數(shù)據(jù)庫
分代 第一代 非關(guān)系型數(shù)據(jù)庫系統(tǒng),60年代末問世,包括層次型和網(wǎng)狀型
第二代 關(guān)系型數(shù)據(jù)庫系統(tǒng)(RDBS),70年代中期問世
第三代 對象-關(guān)系數(shù)據(jù)庫系統(tǒng)(ORDBS 、OOBDS),80年代中期至今
上述三個(gè)概念之間的聯(lián)系:在數(shù)據(jù)庫系統(tǒng)中通過數(shù)據(jù)庫管理系統(tǒng)來建立和使用數(shù)據(jù)庫。
3.?dāng)?shù)據(jù)模型
數(shù)據(jù)模型:即描述實(shí)體模型的數(shù)據(jù)。
數(shù)據(jù)模型的分類: 層次模型(采用樹型結(jié)構(gòu))
網(wǎng)絡(luò)模型(采用無向圖型結(jié)構(gòu))
關(guān)系模型(采用二維表結(jié)構(gòu))
關(guān)系模型的性質(zhì):
二維表的記錄數(shù)隨數(shù)據(jù)的增加而改變,但其字段數(shù)是相對固定的
二維表中的每一列均有唯一的字段名
二維表中不允許出現(xiàn)完全相同的兩行
二維表中行的順序、列的順序均可以任意交換
4. 關(guān)系型數(shù)據(jù)庫的基本結(jié)構(gòu)
關(guān)系型數(shù)據(jù)庫的基本結(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ù)庫(Database):相關(guān)數(shù)據(jù)表的集合
(5) 關(guān)系(Relation):相關(guān)表之間通過相關(guān)聯(lián)的字段建立的聯(lián)系。
(6) 索引(Index):指按表文件中某個(gè)關(guān)鍵字段或表達(dá)式建立記錄的邏輯順序。它是由一系列記錄號組成的一個(gè)列表,目的是提供對數(shù)據(jù)的快速訪問。索引不改變表中記錄的物理順序。
索引關(guān)鍵字(索引表達(dá)式):用來建立索引的一個(gè)字段或字段表達(dá)式。
ngf 數(shù)據(jù)庫和數(shù)據(jù)表可以通過數(shù)據(jù)庫管理系統(tǒng)軟件來建立,如:Access,Visual FoxPro,SQL Server 、Sybase、 Oracle。在VB環(huán)境下可以直接建立Access數(shù)據(jù)庫。
關(guān)系型數(shù)據(jù)表的特點(diǎn):(1)每一個(gè)字段不可再分解,也不能有名字相同的字段; hgfhgfyh(2)每一列中的數(shù)據(jù)都有相同的數(shù)據(jù)類型;
hfyftytfyyy(3)表中沒有內(nèi)容完全相同的行(記錄)。
5.查詢的概念
查詢(query):從相關(guān)數(shù)據(jù)表中選取符合特定要求的數(shù)據(jù)。
創(chuàng)建方法:可以通過查詢生成器創(chuàng)建一個(gè)查詢,也可以在SQL窗口直接用SELECT—SQL命令寫出查詢。
9.2 數(shù)據(jù)庫管理器
1. 數(shù)據(jù)庫管理器介紹
在VB中可以通過“外接程序”菜單中的“可視化數(shù)據(jù)管理器”調(diào)出“VisData”數(shù)據(jù)庫管理器窗口。
菜單選項(xiàng)
功能描述
文件
打開數(shù)據(jù)庫
打開指定的數(shù)據(jù)庫
新建
根據(jù)所選類型建立新數(shù)據(jù)庫
導(dǎo)入/導(dǎo)出
從其他數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)表,或?qū)С鰯?shù)據(jù)表及SQL查詢結(jié)果
工作空間
顯示注冊對話框注冊新工作空間,用新輸入的用戶名和密碼從新的工作空間重新打開當(dāng)前數(shù)據(jù)庫。
壓縮MDB
壓縮指定的Access數(shù)據(jù)庫,創(chuàng)建一個(gè)加密或解密文件。
修復(fù)MDB
修復(fù)指定的Access數(shù)據(jù)庫
實(shí)用程序
查詢生成器
建立、查看、執(zhí)行和存儲SQL查詢
數(shù)據(jù)窗口設(shè)計(jì)器
創(chuàng)建數(shù)據(jù)窗體并將其添加到VB工程中
全局替換
創(chuàng)建SQL表達(dá)式并更新所選數(shù)據(jù)表中滿足條件的記錄
附加
顯示當(dāng)前Access數(shù)據(jù)庫中所有附加數(shù)據(jù)表及連接條件
用戶組/用戶
查看和修改用戶組、用戶、權(quán)限等設(shè)置
System.mda
創(chuàng)建System.mda文件,以便為每個(gè)文件設(shè)置安全機(jī)制
性能選項(xiàng)
設(shè)置超時(shí)值
2. 建立數(shù)據(jù)庫
數(shù)據(jù)庫的基本操作: 創(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)
啟動可視化數(shù)據(jù)管理器 → 在database窗口中右擊,從菜單中選擇“新表” → 在表結(jié)構(gòu)窗口中輸入表名→ 添加字段 → 確定字段名稱和屬性、有效性規(guī)則 → 建立索引 →生成表結(jié)構(gòu)。
“添加字段”對話框各選項(xiàng)說明
選項(xiàng)名
描述
名稱
即每個(gè)字段的名字(對所用字符沒有什么限制)
類型
指該字段的數(shù)據(jù)特征,包括:Boolean、Byte、Integer、Long、Currency、Single、Double、Date/Time、Text、Binary(二進(jìn)制型,存放圖片)、Memo(備注型,存放長文本)
大小
字段寬度,指該字段所能容納數(shù)據(jù)的的最大字節(jié)數(shù)
固定字段
字段寬度固定不變
可變字段
字段寬度可變
允許零長度
表示空字符串可作為有效的字段值
必要的
表示該字段值不可缺少
順序位置
字段在表中的順序位置
驗(yàn)證文本
當(dāng)向表中輸入無效值時(shí)系統(tǒng)顯示的提示信息
驗(yàn)證規(guī)則
驗(yàn)證輸入字段值的簡單規(guī)則,目的是使所輸數(shù)據(jù)符合設(shè)定的條件
默認(rèn)值
在輸入時(shí)設(shè)置的字段初始值,以減少輸入重復(fù)性數(shù)據(jù)時(shí)的工作量
(2)輸入記錄
在database窗口中選中表名并右擊,從菜單中選擇“打開” →在數(shù)據(jù)表窗口輸入記錄(注意窗口樣式)→ 單擊“新增”→ 在窗口中輸入記錄并“更新” →重復(fù)……
(3) 維護(hù)記錄
在database窗口中選中表名并右擊,從菜單中選擇“打開” →單擊“編輯”/“刪除”/“新增”,即可完成對記錄的修改、刪除、添加操作。
3. 建立查詢
建立查詢就是在數(shù)據(jù)表中找到符合特定條件的記錄并組成一張新表。
在database窗口中選中表名并右擊,從菜單中選擇“新查詢” →在查詢生成器中構(gòu)造查詢條件→單擊“運(yùn)行” →單擊“保存”,給出查詢結(jié)果文件名→“關(guān)閉”。
查詢生成器說明
各選項(xiàng)
描述
查詢表達(dá)式
設(shè)置查詢應(yīng)該滿足的基本條件,可以用and /or來設(shè)置應(yīng)滿足的多個(gè)條件
表/字段名
設(shè)置查詢結(jié)果中將顯示的字段名,單擊一個(gè)加亮便選中了
前百分之幾條
只顯示查詢結(jié)果中的前若干條記錄
前N條記錄
只顯示查詢結(jié)果中的前N條記錄
“運(yùn)行”按鈕
執(zhí)行查詢命令,并顯示出查詢結(jié)果
“顯示”按鈕
用消息框顯示SQL命令
“復(fù)制”按鈕
將SQL命令復(fù)制到SQL窗口
“保存”按鈕
將查詢結(jié)果取個(gè)名并保存到數(shù)據(jù)庫中
“清除”按鈕
清除條件列表框中的查詢條件
分組條件
將查詢結(jié)果分組,一般每組只有一個(gè)記錄
排序條件
將查詢結(jié)果按順序顯示出來,ASC(升序)、DESC(降序)
連接條件
設(shè)置相關(guān)表之間的連接字段
9.3 數(shù)據(jù)控件
1. 數(shù)據(jù)控件的建立
從VB工具箱中單擊Data控件,在窗體上畫出數(shù)據(jù)控件即可。
2. 數(shù)據(jù)控件的屬性
屬性名稱
作用
Connect
指定數(shù)據(jù)控件所要連接的數(shù)據(jù)庫類型,VB默認(rèn)的是Access的MDB數(shù)據(jù)庫,也可以連接DBF、XLS、ODBC等數(shù)據(jù)庫
DatabaseName
指定具體使用的數(shù)據(jù)庫文件名,包括路徑名
RecordSource
指定具體可訪問的數(shù)據(jù),這些數(shù)據(jù)構(gòu)成記錄集對象Recordset對象,可以是數(shù)據(jù)庫中的單個(gè)表名、一個(gè)存儲查詢,也可以是SQL查詢命令
RecordsetType
確定記錄集類型,有三種: 0——Table(表); 1——Dynaset(動態(tài),默認(rèn)的) ;2——Snapshot(快照)
BofAction
當(dāng)記錄指針指向記錄集的開始時(shí),確定數(shù)據(jù)控件該采取的操作:
0——控件重定位到第一個(gè)記錄
1——移過記錄集開始位,定位到一個(gè)無效記錄,觸發(fā)數(shù)據(jù)控件對第一個(gè)記錄的無效事件Validate
EofAction
當(dāng)記錄指針指向記錄集的結(jié)束時(shí),確定數(shù)據(jù)控件該采取的操作:
0——控件重定位到最后一個(gè)記錄
1——移過記錄集結(jié)束位,定位到一個(gè)無效記錄,觸發(fā)數(shù)據(jù)控件對最后一個(gè)記錄的無效事件Validate
2——向記錄集加入新的空記錄,可以對新記錄進(jìn)行編輯,移動記錄指針新記錄寫入數(shù)據(jù)庫
綁定控件、數(shù)據(jù)控件、數(shù)據(jù)庫之間的關(guān)系:
綁定控件的屬性:
DataSource——通過一個(gè)有效的數(shù)據(jù)控件連接到一個(gè)數(shù)據(jù)庫上。
DataField——將數(shù)據(jù)庫中的有效字段連接到綁定控件上。
除了常規(guī)控件外,可以與Data數(shù)據(jù)控件綁定的控件有:
控件名稱
部件名稱
常用屬性
MSFlexGrid
Microsoft FlexGrid Control 6.0(OLE DB)
DataSourse
DBCombo
Microsoft Data Bound List Controls 6.0
DataField、DataSource、ListField、RowSource、BoundColumn
DBList
DBGrid
Microsoft Data Bound Grid Control 5.0(SP3)
DataSourse
3. 數(shù)據(jù)控件的事件
事件名稱
觸發(fā)時(shí)間
Reposition
發(fā)生在一條記錄成為當(dāng)前記錄后。只要將記錄指針從一條記錄移動到另一條記錄就會觸發(fā)。
Validate
在一條不同的記錄成為當(dāng)前記錄之前,Update 方法之前(用 UpdateRecord 方法保存數(shù)據(jù)時(shí)除外);以及 Delete、Unload 或 Close 操作之前會發(fā)生該事件。它檢查被數(shù)據(jù)控件綁定的控件內(nèi)的數(shù)據(jù)是否發(fā)生變化。
語法:Private Sub Data_Validate(Action As Integer, Save As Integer) …… End Sub
Validate事跡的 Action參數(shù)
Action值
描述
Action值
描述
0
取消對數(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ù)控件的常用方法
方法名稱
作用
示例
Refresh
激活數(shù)據(jù)控件,使各用戶對數(shù)據(jù)庫的操作有效。
Data1.Refresh
UpdateControls
將數(shù)據(jù)從數(shù)據(jù)庫中重新讀到數(shù)據(jù)控件綁定的控件內(nèi),通過它可以終止用戶對綁定控件內(nèi)數(shù)據(jù)的修改。
放棄修改按鈕代碼:
Data1. UpdateControls
UpdateRecord
強(qiáng)制數(shù)據(jù)控件將綁定控件內(nèi)的數(shù)據(jù)寫入到數(shù)據(jù)庫中,不再觸發(fā)Validate事件
確認(rèn)修改按鈕代碼:
Data1. UpdateRecord
5. 記錄集的屬性與方法
名稱
作用
屬性
AbsolutePostion
返回當(dāng)前指針值,如果是第一條記錄,其值為0;是只讀屬性
Bof / Eof
Bof判斷記錄指針是否在首記錄之前,若是則為True;Eof判斷記錄指針是否在末記錄之后,若是則為True
Bookmark
用于設(shè)置或返回當(dāng)前指針的標(biāo)簽,可以用在在程序中重定位記錄集的指針,其值采用字符串類型。
NoMatch
在記錄集中進(jìn)行查找時(shí),如果找到相匹配的記錄,則為Falue,找不到則為True。
RecordCount
對Recordset對象中的記錄記數(shù),為了準(zhǔn)確起見,在記數(shù)前用MoveLast方法將記錄指針移到最后一條記錄上;是只讀屬性。
方法
Move
用于移動記錄指針,共有5種方法:
MoveFirst——將指針移到第1條記錄
MoveLast——將指針移到最后一條記錄
MoveNext——將指針移到下一條記錄
MovePrevious——將指針移到上一條記錄
Move n——將指針向前或向后移動n條記錄
Find
在指定的Dynaset或 Snapshop類型的Recordset對象中查找與指定條件相符的一條記錄,并使之成為當(dāng)前記錄,共有4種方法:
FindFirst——從記錄集的開始查找滿足條件的第1條記錄
FindLast——從記錄集的尾部向前查找滿足條件的第1條記錄
FindNext——從當(dāng)前記錄開始查找滿足條件的下一條記錄
FindPrevious——從當(dāng)前記錄開始查找滿足條件的上一條記錄
語法格式舉例:
Data1.Recordset.FindFirst "課程名='計(jì)算機(jī)基礎(chǔ)' "
Find方法支持通配符,默認(rèn)情況下忽略大小寫,可以添加說明改變默認(rèn)設(shè)置: Option Compare Text (與大小寫無關(guān))
Option Compare Binary (與大小寫有關(guān))
如果找不到相匹配的記錄,當(dāng)前記錄保持在查找的始發(fā)處;如果找到了,則指針定位到該記錄。
Seek
使用該方法必需打開表的索引,它在Table表中查找與指定索引規(guī)則相符的第一條記錄,并使其成為當(dāng)前記錄。
語法格式舉例:
Data1.Recordset.Index= "課程名"
Data1.Recordset.Seek "=", "計(jì)算機(jī)基礎(chǔ)"
6. 利用數(shù)據(jù)控件對數(shù)據(jù)庫進(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ù)寫入數(shù)據(jù)庫:
Data1.Recordset. Update
4) 調(diào)用MoveLast方法顯示新記錄:
Data1.Recordset. MoveLast
如果缺少第3)步而將指針移動到其他記錄或關(guān)閉了記錄,則所做的輸入全部丟失;若沒有第4)步。雖然加入了新記錄,但記錄指針自動返回到添加新記錄前的位置上,并不顯示新記錄。
刪除記錄
1) 定位被刪除記錄使之成為當(dāng)前記錄(用Move或Find方法)
2) 調(diào)用Delete方法:Data1.Recordset. Delete
3) 調(diào)用MoveNext方法移動記錄指針
使用Delete方法時(shí),當(dāng)前記錄立即刪除,但被數(shù)據(jù)庫約束的綁定控件仍舊顯示該記錄的內(nèi)容,故必須用第3)步刷新綁定控件。
修改記錄
1) 調(diào)用Edit方法:Data1.Recordset. Edit
2) 給各字段賦值:在綁定控件中直接修改
3) 調(diào)用Update方法,確定所做的修改:
Data1.Recordset. Update
如果要放棄對數(shù)據(jù)的所有修改,可在第3)步之前用Refresh方法,重讀數(shù)據(jù)庫,刷新記錄。
9.4 ADO數(shù)據(jù)控件
1. 什么是ADO?
ADO(ActiveX Data Object)數(shù)據(jù)訪問接口是微軟處理數(shù)據(jù)庫信息的最新技術(shù),它是一種ActiveX對象,采用了OLE DB(動態(tài)連接與嵌入數(shù)據(jù)庫)的數(shù)據(jù)訪問模式,是數(shù)據(jù)訪問對象DAO、遠(yuǎn)程數(shù)據(jù)對象RDO和開放式數(shù)據(jù)庫互連ODBC三種方式的擴(kuò)展。
要使用ADO對象必需先為當(dāng)前工程引用ADO對象庫,方法是: 執(zhí)行“工程”菜單中的“引用”命令,在對話框中選中“Microsoft ActiveX Data Object 2.0 Library”。
ADO對象描述
對象名
描述
Connection
連接數(shù)據(jù)來源
Command
從數(shù)據(jù)源獲取所需數(shù)據(jù)的命令信息
Recordset
所獲取的一組記錄組成的記錄集
Error
在訪問數(shù)據(jù)庫時(shí),由數(shù)據(jù)源所返回的錯(cuò)誤信息
Parameter
與命令對象相關(guān)的參數(shù)
Field
包含了記錄集中某個(gè)字段的信息
2.使用ADO數(shù)據(jù)控件
(1) 添加ADO數(shù)據(jù)控件
從“工程”菜單中選擇“部件”命令,在對話框中選中“Microsoft ADO Data ControlS 6.0(OLE DB)”,將其添加到工具箱,并在窗體上拖劃出ADO數(shù)據(jù)控件。
(2) ADO數(shù)據(jù)控件的基本屬性
屬性名
作用
ConnectionString
用來與數(shù)據(jù)庫建立連接,它包括4個(gè)參數(shù):
Provide——指定數(shù)據(jù)源的名稱
FileName——指定數(shù)據(jù)源所對應(yīng)的文件名
RemoteProvide——在遠(yuǎn)程數(shù)據(jù)服務(wù)器打開一個(gè)客戶端時(shí)所用的數(shù)據(jù)源名稱
RemoteServer——在遠(yuǎn)程數(shù)據(jù)服務(wù)器打開一個(gè)主機(jī)端時(shí)所用的數(shù)據(jù)源名稱
RecordSource
確定具體可訪問的數(shù)據(jù),可以是數(shù)據(jù)庫中的單個(gè)表名、一個(gè)存儲查詢或一個(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屬性右邊的…按鈕,從對話框中選擇連接數(shù)據(jù)源的方式:
使用連接字符串——單擊“生成”按鈕,通過選項(xiàng)設(shè)置系統(tǒng)自動產(chǎn)生連接字符串
使用DataLink文件——通過一個(gè)連接文件來完成
使用ODBC數(shù)據(jù)資源名稱——在下拉列表中選擇某個(gè)創(chuàng)建好的數(shù)據(jù)源名稱作為數(shù)據(jù)來源對遠(yuǎn)程數(shù)據(jù)庫進(jìn)行控制。
3)在ADO屬性窗口中單擊RecordSource屬性右邊的…按鈕,在“命令類型”中選擇2——adCmdTable,在“表或存儲過程名稱”中選擇所需要的表。
以上2)、3)可以合并成一步:在ADO控件上單擊右鍵,從快捷菜單中選擇ADODC屬性,直接在屬性頁對話框中進(jìn)行所有設(shè)置。
(4) ADO數(shù)據(jù)控件的方法和事件
與Data數(shù)據(jù)控件完全相同。
(5) 在ADO上新增綁定控件
可以從“工程”的“部件”中添加如下綁定控件:
控件名稱
部件名稱
常用屬性
DataGrid
Microsoft DataGrid Control 6.0(OLE DB)
DataSource
DataCombo
Microsoft DataList Controls 6.0(OLE DB)
DataField、DataSource、ListField、RowSource、BoundColumn
DataList
MSChart
Microsoft Chart Control 6.0(OLE DB)
DataSource
3. 使用數(shù)據(jù)窗體向?qū)?div style="height:15px;">
從“外接程序”菜單中選擇“外接程序管理器”,在對話框中選中VB6數(shù)據(jù)窗體向?qū)В?#8220;加載”并“確定”,再從“外接程序”菜單中選擇“數(shù)據(jù)窗體向?qū)?#8221;,然后根據(jù)系統(tǒng)提示逐步操作即可創(chuàng)建所需要的數(shù)據(jù)窗體,系統(tǒng)自動把所創(chuàng)建的窗體加到工程中。
CREATE TABLE 數(shù)據(jù)表名 (字段名1 數(shù)據(jù)類型(長度), 字段名2 數(shù)據(jù)類型(長度),……)
舉例:create table student(xh text(9), xm text(8) , cj single(4), nl integer(2))
在VB6.0中可以利用報(bào)表設(shè)計(jì)器來制作報(bào)表,從“工程”中選擇“添加data report”,將報(bào)表設(shè)計(jì)器加入到當(dāng)前工程中,報(bào)表由5部分組成:
使用報(bào)表設(shè)計(jì)器處理的數(shù)據(jù)需要利用數(shù)據(jù)環(huán)境設(shè)計(jì)器創(chuàng)建與數(shù)據(jù)庫的連接, 從“工程”菜單中選擇 “添加Data Enviroment”,在連接中選擇指定的數(shù)據(jù)庫文件,完成與數(shù)據(jù)庫的連接,然后產(chǎn)生Command對象連接數(shù)據(jù)庫內(nèi)的表。
(2) 從“工程”菜單中“添加Data Enviroment”,右擊Connection1,在屬性中選擇“Microsoft Jet4 OLE DB Provider”,在“連接”中指定數(shù)據(jù)庫;
(3) 再次右擊Connection1,選則“添加命令”,創(chuàng)建Command1對象,右擊Command1,在屬性中設(shè)置該對象連接的數(shù)據(jù)源為需要打印的數(shù)據(jù)表;
(4) 在從“工程”菜單中“添加Data Report”,在屬性窗口中設(shè)置DataSource為數(shù)據(jù)環(huán)境DataEnviroment1對象,DataMember為Command1對象,即指定數(shù)據(jù)報(bào)表設(shè)計(jì)器DataReport1的數(shù)據(jù)來源;
(5) 將數(shù)據(jù)環(huán)境設(shè)計(jì)器中Command1對象內(nèi)的字段拖到數(shù)據(jù)報(bào)表設(shè)計(jì)器的細(xì)節(jié)區(qū);
(6) 利用標(biāo)簽控件在報(bào)表標(biāo)頭區(qū)插入報(bào)表名,在頁標(biāo)頭區(qū)設(shè)置報(bào)表每一頁頂部的標(biāo)題;
(10) 利用預(yù)覽窗口工具欄上的導(dǎo)出按鈕可以將報(bào)表內(nèi)容輸出成文本文件或Html文件;也可以利用DataReport1對象的ExportReport方法將報(bào)表內(nèi)容輸出成文本文件或Html文件。