999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ADO和SQL在VB數據庫程序開發中的使用

2008-12-31 00:00:00駿
電腦知識與技術 2008年34期

摘要:訪問數據庫的方法有兩種:一種是通過DAO 或ADO的數據源,對表中的數據進行直接操作;另一種是通過標準的SQL語句結合Connection 對象,對數據庫中的數據進行操作,對表中的數據進行檢索和統計。文章試通過開發實例來說明ADO在處理數據庫表中數據時的使用方法,并介紹利用SQL語句來實現對數據作數學統計的方法。

關鍵詞:ADO;SQL;數據庫

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)34-2018-02

ADO and SQL in the Use of Visual Basic Database Programming

LU Jun

(Wuxi Teachers’Collge,Wuxi 214001, China)

Abstract: Access the database in two ways: through a DAO or ADO data sources, the data in the form of direct operate; and the other is through the combination of standard SQL statements Connection object to the database to operate on Table to retrieve data and statistics. Through the development of examples to illustrate the ADO in dealing with the database table data use, and introduced the use of the SQL statement to the realization of Mathematics and Statistics for data on the way.

Key words: ADO; SQL; database

1 引言

在VB的應用程序開發中,訪問數據庫的方法可歸納為兩種。一種是通過DAO 或ADO的數據源,對表中的數據進行直接操作;另一種是通過標準的SQL語句結合Connection 對象,對數據庫中的數據進行操作,對表中的數據進行檢索和統計。DAO是Visual Basic 5.0使用的數據訪問技術,它在用于訪問MDB文件格式的數據庫時有較高的效率,但訪問如Oracle或 SQL Server這樣的非MDB文件格式的數據庫時,因它基于Access/Jet數據庫引擎,訪問速度會大大降低,所以Visual Basic 6.0推出了ADO 技術。

ADO中文含意是ActiveX數據對象(ActiveX Data Object),它是一種面向對象的接口。ADO訪問數據庫是通過訪問OLE DB使用程序和OLE DB供給程序來進行的,它在封裝OLE DB的程序中使用了大量的COM接口,是一種高層的訪問技術,它在繼承OLE DB的同時,大大簡化了OLE DB的操作。此外,ADO技術可以以ActiveX控件的形式出現,被廣泛應用于Microsoft ActiveX頁、Visual C++ 和Visual Basic的編程。

SQL是管理關系數據庫系統的標準語言。每一種關系數據庫如Access、 SQL Server、 Oracle 等都有它自己特有的SQL語言,但它們都支持像select、insert、update、delete、create、drop等標準語句來完成幾乎所有的對數據庫的操作。本文將就ADO 和SQL的用法進行一些探討。

2 使用方法

2.1 開發原型

我們將開發一個庫房設備進銷存的程序。用MS Access 數據庫,創建的數據庫名叫 ware.mdb. 在這個數據庫中,建立了四張表:表1,表2,表3,表4。

表1 設備明細表: wareDetail

表2 流水賬 wAccount

表3 庫存表 wLib

表4 臨時表wInOut

2.2 ADO的使用方法.

ADO2.0存在于Visual Basic 6.0的兩個獨立的庫中 第一個稱為 ADODB,在References對話框中的名字是Microsoft ActiveX Data Objects 2.0 Library,在這個庫中包含了所有的ADO對象。對于那些并不需要太多加強的ADO資源工程,應該使用ADOR庫。在References對話框中這個庫稱為Microsoft ActiveX Data Objects Recordset 2.1 Library,這個庫只包含對Recordsets 的支持。Visual BASIC 6.0通過ADO控件和 Recordset對象兩種方法來使用ADO.下面介紹一下Recordset對象的使用方法。在VB中加入如下代碼:

dim myConnectstr as strng

dim myRecordset as New ADODB.recordset

myConnectstr=\"PROVIDER=Microsoft.Jet.OLEDB.4.0;DataSource=\" _

App.Path \"\\ware.mdb;Persist Security Info=False\"

myRecordset.CoursorLocation=AduseClient

myRecordset.Open “select * from wDetail ”,myConnectstr,_

adOpenKeyset, adLockPessimistic

這樣就可以對設備明細表追加紀錄:

myRecordset.AddNew

myRecordset.Fields(\"wareID\") = \"000001\"

myRecordset.Fields(\"wareName\") = \"Switch 3500\"

myRecordset.Fields(\"wPrice\") = 4350

myRecordset.Fields(\"wManufect\") = \"Cisco\"

myRecordset.Update

獲取表中的紀錄數:

recordcnt=myRecordset.Recordcount

移動紀錄指針

myRecordset.MoveFirst ‘移動到表的第一條紀錄

myRecordset.MoveLast ‘移動到表的最后一條紀錄

myRecordset.MovePrevious ‘移動到表的上一條紀錄

myRecordset.MoveNext ‘移動到表的下一條紀錄

刪除當前紀錄

myRecordset.Delete

最后關閉紀錄集,釋放紀錄集變量

myRecordset.Close

Set myRecordset=Nothing

2.3 SQL的使用

上面所用的方法,只適合于對單個表的簡單操作。如果是對表的數據作復雜查詢,或數據統計,用上述方法就非常不方便。一般情況下我們用SQL 語言結合Connection 對象實現。

SQL 語句中最常用的是Select語句。該語句用來從數據庫表中檢索數據或者完成其他一些功能。為了使用這條語句你必須知道你要檢索的字段名稱,或者直接用星號來檢索所有字段。下面是Select語句的基本語法:

SELECT[ALL | DISTINCT] [TOP xx[PERCENT]] select_list FROM table_name

[WHERE {search_criteria|join_criteria}[{AND|OR search_criteria}]]

[GROUP BY [ALL]aggregate_free_expression[,aggregate_free_expression….]]

[HAVING search_conditions] [ORDER BY{field_list}[ASC|DESC]]

其中:

ALL 定義每一行都將返回,包括重復紀錄。

DISTINCT定義只返回不重復的紀錄。

TOP定義你需要的得到的返回紀錄的前幾條。在數字xx后用PERCENT來說明只返回前面百分之幾條紀錄。

select_list 列出要檢索的表的列名。

table_name 列出要檢索的表名

search_criteria 列出要檢索的表的列名

join_criteria 列出一個表中用來和另一個表的某個列連接的列名

aggregate_free_expression 是一個不包含聚集的表達式。

Field_list 列出了數據排序的順序

ASC定義按照升序排序

DESC定義按照降序排序。

下面我們來舉例說明。

你希望檢索設備明細表中的信息可使用如下語句:

SELECT * FROM waredetial

關鍵字ORDER BY要求列名以確定按哪一列排序。這里我們選定按wareID排序,如果你希望按列wareID的字母順序排列可采用下面的代碼:

SELECT wareID FROM wareDetial ORDER BY wareID

默認是按升序排列如果想按降序排列可用如下代碼:

SELECT wareID FROM wareDetial ORDER BY wareID DESC

如果你想選擇多列,使用下面的語句(下轉第2032頁)

(上接第2019頁)

SELECT wareID,wareName FROM wareDetial ORDER BY wareID

用WHERE 關鍵字來限制選擇范圍。如果你想選擇wareDetial中wareName 列值為“cisco6000”的行。你可用下面的代碼實現:

SELECT * FROM wareDetial WHERE wareName=”cisco6000” ORDER BY wareID除了SELECT 語句,標準SQL語句還有INSERT UPDATE DELETE等,在此不再作具體介紹。實際的應用經常要對表中的某列或多列數據進行數學運算,這就需要使用用到如COUNT(),SUM(),AVG(),MAX(),MIN() 等數學函數。下面對這些函數的用法作具體說明。

先建立一個與數據庫的連接

dim myConnectstr as strng

dim myCnt as New ADODB.connection

myConnectstr=\"PROVIDER=Microsoft.Jet.OLEDB.4.0;DataSource=\" _

App.Path \"\\ware.mdb;Persist Security Info=False\"

myCnt.Open myConnectstr

若要產生某種設備的總進貨數以及總出貨數可用以下代碼:

exeStr =”insert into wInOut select sum(wQuantity) as Quantity,_

sum(wSold) as Sold from wAccount where wareID=‘000001’”

若要產生庫存的總數以及總庫存金額可用以下代碼:

exeStr = \"insert into wLib select sum(numInlib) as _

totalNum,sum(numInLib*wPrice) as totalMoney from wDetail \"

運行上述代碼:

myCnt.Execute exeStr

關閉連接

myCnt.Close

在應用程序的開發中,基于數據庫的不同,只在連接的數據源部分作相應的修改,其它的部分無需改動。

3 結束語

本文所列舉的僅僅是ADO和SQL的用法的一小部分,實際的應用中對ADO的操作有時用ADO控件結合DATAGRID控件等顯示數據也很方便。

參考文獻:

[1] 蘇穎,張躍華.Visual Basic數據庫開發應用技術[M].北京:中國鐵道出版社,2006.

[2] 曹祖圣,蔡文龍,林義證.Visual Basic2005完全開發指南[M].北京:科學出版社,2007.

[3] Kraft R.Microsoft SQL Server 7.0使用詳解[M].北京:機械工業出版社,1999.

[4] Franklin K.MICROSOFT VB.NET開發人員指南[M].北京:北京希望電子出版社,2002.

主站蜘蛛池模板: 老熟妇喷水一区二区三区| 精品久久久久久久久久久| 高潮爽到爆的喷水女主播视频| 亚洲天堂成人在线观看| 99这里只有精品在线| 欧美日韩动态图| 精品一区二区三区无码视频无码| 精品久久国产综合精麻豆| 青草视频网站在线观看| 亚洲AV电影不卡在线观看| 国产丝袜91| 国产噜噜在线视频观看| 午夜毛片免费观看视频 | 69国产精品视频免费| 亚洲欧美综合另类图片小说区| 成人av专区精品无码国产| 精品五夜婷香蕉国产线看观看| 国产精品嫩草影院视频| 无码中字出轨中文人妻中文中| 亚洲成a人片77777在线播放| 91无码国产视频| 好紧太爽了视频免费无码| 亚洲天堂精品视频| 中文字幕中文字字幕码一二区| 亚洲欧美成人综合| 亚国产欧美在线人成| 亚洲国产中文在线二区三区免| 亚洲中文字幕23页在线| 宅男噜噜噜66国产在线观看| av大片在线无码免费| 制服丝袜 91视频| 九色视频线上播放| 亚洲美女视频一区| 久久久久久尹人网香蕉| 亚洲AV人人澡人人双人| 亚洲精品va| 国产成人精品视频一区视频二区| 日韩精品成人在线| 欧美色图久久| 欧美日韩综合网| 在线视频亚洲色图| 天天做天天爱夜夜爽毛片毛片| 九色在线观看视频| 亚洲欧美日韩动漫| 天天躁日日躁狠狠躁中文字幕| 干中文字幕| 国产精品极品美女自在线| 精品久久国产综合精麻豆| 亚洲最黄视频| 91成人精品视频| 成人福利在线看| 国产成人成人一区二区| 欧美日本一区二区三区免费| 无码aaa视频| 欧美综合成人| 欧洲日本亚洲中文字幕| 国产免费久久精品99re不卡| 亚瑟天堂久久一区二区影院| 欧美亚洲激情| 91精品国产91久无码网站| 久久久无码人妻精品无码| 国产精品所毛片视频| 97成人在线视频| 亚洲无码精彩视频在线观看| 中文字幕日韩久久综合影院| 亚洲日本中文字幕乱码中文 | 无码aⅴ精品一区二区三区| 亚洲国内精品自在自线官| 黄色网站不卡无码| 国产综合网站| 国产欧美日韩在线在线不卡视频| 日本五区在线不卡精品| 亚洲中久无码永久在线观看软件| 亚洲手机在线| 亚洲美女高潮久久久久久久| 国产精品久久久精品三级| 91尤物国产尤物福利在线| 先锋资源久久| 国产成人综合亚洲欧美在| 精品久久香蕉国产线看观看gif| 欧美三级自拍| 天堂久久久久久中文字幕|