- 相關(guān)推薦
在VB6.0數據庫程序開(kāi)發(fā)中使用ADO 和SQL
摘要:本文用實(shí)例說(shuō)明了通過(guò)ADO處理數據庫表中數據的實(shí)現方法,并介紹了利用SQL語(yǔ)句實(shí)現對數據作數學(xué)統計的方法.
關(guān)鍵詞:ADO SQL 數據庫
1.引言
在VB的應用程序開(kāi)發(fā)中,訪(fǎng)問(wèn)數據庫的方法可歸納為兩種。一種是通過(guò)DAO 或ADO的數據源對表中的數據進(jìn)行直接操作,另一種是通過(guò)標準的SQL語(yǔ)句結合Connection 對象對數據庫中的數據進(jìn)行操作,對表中的數據進(jìn)行檢索和統計。DAO是Visual Basic 5.0使用的數據訪(fǎng)問(wèn)技術(shù),它在用于訪(fǎng)問(wèn)MDB文件格式的數據庫時(shí)有較高的效率,但訪(fǎng)問(wèn)如Oracle或 SQL Server這樣的非MDB文件格式的數據庫時(shí),因它基于A(yíng)ccess/Jet數據庫引擎,訪(fǎng)問(wèn)速度會(huì )大大降低。所以Visual Basic 6.0推出了ADO 技術(shù)。ADO中文含意是ActiveX數據對象(ActiveX Data Object),它是一種面向對象的接口。ADO訪(fǎng)問(wèn)數據庫是通過(guò)訪(fǎng)問(wèn)OLE
DB使用程序和OLE DB供給程序來(lái)進(jìn)行的,它在封裝OLE DB的程序中使用了大量的COM接口,是一種高層的訪(fǎng)問(wèn)技術(shù)。它在繼承OLE DB的同時(shí),大大簡(jiǎn)化了OLE DB的操作。
此外,ADO技術(shù)可以以ActiveX控件的形式出現,被廣泛應用于Microsoft ActiveX頁(yè)、Visual C 和Visual Basic的編程。SQL是管理關(guān)系數據庫系統的標準語(yǔ)言。每一種關(guān)系數據庫如Access、 SQL Server、 Oracle 等都有它自己特有的SQL語(yǔ)言,但它們都支持像select、insert、update、delete、create、drop等標準語(yǔ)句來(lái)完成幾乎所有的對數據庫的操作.本文就ADO 和SQL的用法做一些探討。
2.開(kāi)發(fā)原型
我們?yōu)橛嬎銠C產(chǎn)品經(jīng)銷(xiāo)商開(kāi)發(fā)一個(gè)進(jìn)銷(xiāo)存的程序。用MS Access 數據庫,創(chuàng )建的數據庫名叫 ware.mdb. 在這個(gè)數據庫中,建立表1,表2,表3,表4。
表1 商品明細表: wareDetail
商品編號 商品名稱(chēng) 單價(jià) 廠(chǎng)商 庫存
wareID(ch10) wareName(ch30) wPrice(Money) manifest(ch40) numInLib(int)
表2 流水賬 wAccount
商品編號 進(jìn)貨數 出貨數 日期
wareID(ch10) wQuantity(int) wSold(int) wDate(date)
表3 庫存表 wLib
總庫存數 總庫存金額
TotalNum(int) TotalMoney(Money)
表4 臨時(shí)表wInOut
進(jìn)貨數 出貨數
Quantity, Sold
3.ADO的使用方法.
ADO2.0存在于Visual Basic 6.0的兩個(gè)獨立的庫中 第一個(gè)稱(chēng)為 ADODB,在References對話(huà)框中的名字是Microsoft ActiveX Data Objects 2.0 Library在這個(gè)庫中包含了所有的ADO對象。對于那些并不需要太多加強的ADO資源工程,應該使用ADOR庫。在References對話(huà)框中這個(gè)庫稱(chēng)為Microsoft ActiveX Data Objects Recordset 2.1 Library 這個(gè)庫只包含對Recordsets 的支持。Visual BASIC 6.0通過(guò)ADO控件和 Recordset對象兩種方法來(lái)使用ADO.下面介紹一下Recordset 對象的使用方法.在visual basic 中加入如下代碼:
dim myConnectstr as strng
dim myRecordset as New ADODB.recordset
myConnectstr="PROVIDER=Microsoft.Jet.OLEDB.4.0;DataSource="