英文VB教程 簡體Visual Basic教程 繁體Visual Basic教程

第27課: 運用 SQL 查詢


在前面的課程中,我們已經學會了使用DataGrid控件從一個數據庫中來顯示數據。但是,它沒有為用戶提供搜索和選擇的功能。為了能搜尋某個信息,我們需要使用SQL查詢。SQL是結構化查詢語言。我們可以使用根據一定標准的SQL關鍵字來選擇要顯示的具體信息。最基本的SQL關鍵字是SELECT,它是和關鍵字FROM 配合從一個數據庫中選擇一個或多個表的信息。其語法是:

                                              SELECT fieldname1,fieldname2,.....,fieldnameN  FROM  TableName

fieldname1, fieldname2,......fieldnameN 是從一個數據庫表中的字段。其實你也可以用漢字來給字段和數據庫的表取名,如下面的範例:

                                                      SELECT 姓名,城市,電話  FROM  學生名單

 

您可以選擇任何數量的字段名來查詢資料。如果你想選擇所有的信息,你可以使用下面的語法:

                                         SELECT  * FROM  TableName

為了示範如何應用SQL查詢,讓我們以下列字段名來建立一個新的Microsoft Access數據庫及把table 保存為書庫表,數據庫則存為books.mdb

ID, 書名, 作者, 年份, ISBN, 出版社, 價錢

接下來,我們將啟動Visual Basic,並插入一個ADO控件,一個DataGrid和三個命令按鈕。將三個命令按鈕命名為cmdAuthor,cmdTitle 及 cmdAll 並改變它們的標題為展示作者 ,展示書名 及 展示全部。您還可以更改表單的標題為書庫。設計界面如下圖所示:
 

    图27.1

現在,你需要連接數據庫至ADO數據控件。不過,你需要做一個改變。在ADODC屬性頁對話框中,單擊”記錄“選項卡上,選擇?1-adCmdText?。根據指令的類型和指令Text(SQL)鍵入SELECT * FROM book。

 

圖27.2

 

接下來,請單擊展示作者命令按鈕 cmdAuthor 然后鍵入下面的語句:

Private Sub cmdAuthor_Click()

Adodc1.RecordSource = "SELECT 作者 FROM 书库表 ORDER BY  作者 ASC"
Adodc1.Refresh
Adodc1.Caption = Adodc1.RecordSource

End Sub

ORDER BY  作者 ASC 是以作者名字顺序排列。

再下來單擊展示書名命令按鈕 cmdTitle 然后鍵入下面的語句:

Private Sub cmdTitle_Click()

Adodc1.RecordSource = "SELECT 數名 FROM 書庫表 ORDER BY 書名 DESC"
Adodc1.Refresh
Adodc1.Caption = Adodc1.RecordSource

End Sub

ORDER BY 書名 DESC 是以書名逆序排列。

最后單擊展示全部命令按鈕 cmdAll, 鍵入下面的語句

Private Sub cmdAll_Click()

Adodc1.RecordSource = "SELECT * FROM 書庫表"
Adodc1.Refresh
Adodc1.Caption = Adodc1.RecordSource

End Sub

現在,運行程序。當你點擊“展示作者”按鈕時,只有作者的姓名將被顯示出來,如下圖所示:

 

圖27.3

當您單擊“展示書名”的按鈕時,只有書名顯示出來,如下圖所示:

圖27.4

最後,点击 “展示全部” 按钮时,所有的信息将显示出来。

圖27.5





版权所有©2008 Dr.Liew Voon Kiong。保留所有权利 。联系我们: VB面子书

[Privacy Policy]