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