小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

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

 nxhujiee 2010-09-08

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

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

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

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

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

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

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

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

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

         特點:

            b 具有最小的冗余度

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

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

                安全可靠,保密性能好

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

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

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

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

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

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

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

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

數(shù)據(jù)庫也可以這樣劃分其組成: 硬件:計算機硬件設(shè)備
軟件:數(shù)據(jù)庫管理系統(tǒng) 、操作系統(tǒng)、開發(fā)工具、應(yīng)用程序
用戶:應(yīng)用程序設(shè)計員、終端用戶、數(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年代中期至今

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

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

     數(shù)據(jù)模型:即描述實體模型的數(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:指按表文件中某個關(guān)鍵字段或表達式建立記錄的邏輯順序。它是由一系列記錄號組成的一個列表,目的是提供對數(shù)據(jù)的快速訪問。索引不改變表中記錄的物理順序。

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

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

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

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

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

5.查詢的概念

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

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

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

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

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

菜單選項

功能描述

文件

打開數(shù)據(jù)庫

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

新建

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

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

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

工作空間

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

壓縮MDB

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

修復(fù)MDB

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

實用程序

查詢生成器

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

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

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

全局替換

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

附加

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

用戶組/用戶

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

System.mda

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

性能選項

設(shè)置超時值

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

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

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

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

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

   “添加字段”對話框各選項說明

選項名

描述

名稱

即每個字段的名字(對所用字符沒有什么限制)

類型

指該字段的數(shù)據(jù)特征,包括:Boolean、Byte、Integer、Long、CurrencySingle、Double、Date/TimeText、Binary(二進制型,存放圖片)、Memo(備注型,存放長文本)

大小

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

固定字段

字段寬度固定不變

可變字段

字段寬度可變

允許零長度

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

必要的

表示該字段值不可缺少

順序位置

字段在表中的順序位置

驗證文本

當向表中輸入無效值時系統(tǒng)顯示的提示信息

驗證規(guī)則

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

默認值

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

  2)輸入記錄

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

  (3)  維護記錄

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

3.  建立查詢

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

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

 查詢生成器說明

各選項

描述

查詢表達式

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

/字段名

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

前百分之幾條

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

N條記錄

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

“運行”按鈕

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

“顯示”按鈕

用消息框顯示SQL命令

“復(fù)制”按鈕

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

“保存”按鈕

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

“清除”按鈕

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

分組條件

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

排序條件

將查詢結(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默認的是AccessMDB數(shù)據(jù)庫,也可以連接DBFXLS、ODBC等數(shù)據(jù)庫

DatabaseName

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

RecordSource

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

RecordsetType

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

BofAction

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

0——控件重定位到第一個記錄

1——移過記錄集開始位,定位到一個無效記錄,觸發(fā)數(shù)據(jù)控件對第一個記錄的無效事件Validate

EofAction

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

0——控件重定位到最后一個記錄

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

2——向記錄集加入新的空記錄,可以對新記錄進行編輯,移動記錄指針新記錄寫入數(shù)據(jù)庫

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

  綁定控件的屬性

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

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

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

控件名稱

部件名稱

常用屬性

MSFlexGrid

Microsoft  FlexGrid Control 6.0OLE DB

DataSourse

DBCombo

Microsoft Data Bound List Controls 6.0

DataField、DataSource、ListFieldRowSourceBoundColumn

DBList

DBGrid

Microsoft Data Bound Grid Control 5.0SP3

DataSourse

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

事件名稱

觸發(fā)時間

Reposition

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

Validate

在一條不同的記錄成為當前記錄之前,Update 方法之前(用 UpdateRecord 方法保存數(shù)據(jù)時除外);以及 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

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

確認修改按鈕代碼:

Data1. UpdateRecord

5. 記錄集的屬性與方法

名稱

作用

屬性

AbsolutePostion

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

Bof / Eof

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

Bookmark

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

NoMatch

在記錄集中進行查找時,如果找到相匹配的記錄,則為Falue,找不到則為True。

RecordCount

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

方法

Move

用于移動記錄指針,共有5種方法:

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

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

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

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

Move  n——將指針向前或向后移動n條記錄

Find

在指定的Dynaset Snapshop類型的Recordset對象中查找與指定條件相符的一條記錄,并使之成為當前記錄,共有4種方法:

FindFirst——從記錄集的開始查找滿足條件的第1條記錄

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

FindNext——從當前記錄開始查找滿足條件的下一條記錄

FindPrevious——從當前記錄開始查找滿足條件的上一條記錄

語法格式舉例:

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

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

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

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

Seek

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

語法格式舉例:

Data1.Recordset.Index= "課程名"

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

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

操作項目

操作方法

注意事項

增加記錄

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)    定位被刪除記錄使之成為當前記錄(用MoveFind方法)

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

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

使用Delete方法時,當前記錄立即刪除,但被數(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?

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

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

  ADO對象描述

對象名

描述

Connection

連接數(shù)據(jù)來源

Command

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

Recordset

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

Error

在訪問數(shù)據(jù)庫時,由數(shù)據(jù)源所返回的錯誤信息

Parameter

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

Field

包含了記錄集中某個字段的信息

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

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

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

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

屬性名

作用

ConnectionString

用來與數(shù)據(jù)庫建立連接,它包括4個參數(shù):

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

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

RemoteProvide——在遠程數(shù)據(jù)服務(wù)器打開一個客戶端時所用的數(shù)據(jù)源名稱

RemoteServer——在遠程數(shù)據(jù)服務(wù)器打開一個主機端時所用的數(shù)據(jù)源名稱

RecordSource

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

ConnectionTimeout

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

MaxRecords

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

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

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

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

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

        使用Data Link文件——通過一個連接文件來完成

        使用ODBC數(shù)據(jù)資源名稱——在下拉列表中選擇某個創(chuàng)建好的數(shù)據(jù)源名稱作為數(shù)據(jù)來源對遠程數(shù)據(jù)庫進行控制。

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

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

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

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

 (5) ADO上新增綁定控件

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

控件名稱

部件名稱

常用屬性

DataGrid

Microsoft DataGrid Control 6.0OLE DB

DataSource

DataCombo

Microsoft DataList Controls 6.0OLE DB

DataFieldDataSource、ListField、RowSourceBoundColumn

DataList

MSChart

Microsoft Chart Control 6.0OLE DB

DataSource

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

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

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

1.SQL的基本組成

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

 (1) SQL命令

命令

功能

CREATE

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

DROP

用于刪除數(shù)據(jù)庫中的數(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

用于說明每個群組需要滿足的條件

ORDER BY

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

INTO

查詢結(jié)果去向

 (3)  SQL運算符

邏輯運算符

And ()、 Or()、 Not()

比較運算符

<   <=   >   >=    =   <>

 (4)   SQL函數(shù)

AVG

COUNT

SUM

MAX

MIN

求平均值

計數(shù)

求和

求最大值

求最小值

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

語句功能

語法格式

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

CREATE  TABLE  數(shù)據(jù)表名 (字段名數(shù)據(jù)類型(長度),  字段名數(shù)據(jù)類型(長度),……)

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

   建立含有xh、xmcj、nl  4個字段的student

添加字段

ALTER  TABLE  數(shù)據(jù)表名 ADD  COLUMN  字段名  數(shù)據(jù)類型(長度)

舉例: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é)號和姓名并使結(jié)果按學(xué)號升序排列。

添加記錄

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 條件表達式

舉例:delete  from  student  where  xb=""

更新記錄

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

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

9.6    報表制作

1.  報表的概念

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

2.  制作報表的方法

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

  報表標頭——每份報表只有一個,可以用標簽建立報表名。

  頁標頭——每頁有一個,即每頁的表頭,如字段名。

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

  頁腳注——每頁有一個,如頁碼。

  報表腳注——每份報表只有一個,可以用標簽建立對本報表的注釋、說明。

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

  制作報表的步驟:

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

   (2) 從“工程”菜單中“添加Data Enviroment”,右擊Connection1,在屬性中選擇“Microsoft Jet 4 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對象,DataMemberCommand1對象,即指定數(shù)據(jù)報表設(shè)計器DataReport1的數(shù)據(jù)來源;

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

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

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

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

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

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

   制作報表的簡單方法是從“外接程序”中選擇報表向?qū)碓O(shè)計報表。

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

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

1.    建立工程文件

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

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

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

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

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

7.    生成EXE文件

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多