解讀ADO訪問不同數(shù)據(jù)庫(kù)的差別_Access數(shù)據(jù)庫(kù)教程
推薦:如何防止Access 2000密碼被破如果你過分信任 Access 2000數(shù)據(jù)庫(kù)的密碼保護(hù),你可能會(huì)因此而蒙受損失。這是因?yàn)锳ccess 2000的數(shù)據(jù)庫(kù)級(jí)密碼并不安全,相反它很脆弱,甚至下面這段非常小的程序就可以攻破它: 程序一(VB6):Access 2000密碼破譯 Private Sub Command1_Click() Const Off
Microsoft公司提供了統(tǒng)一的數(shù)據(jù)訪問接口ActiveX Data Object,簡(jiǎn)稱ADO。但實(shí)際應(yīng)用編程中,訪問不同的數(shù)據(jù)庫(kù),如Access、SQL Server或VFP,會(huì)存在一些“細(xì)微”差別,常常有這樣的情況,用ADO對(duì)象訪問某一數(shù)據(jù)庫(kù)的程序都調(diào)試通過了,但用同樣的程序訪問其他數(shù)據(jù)庫(kù)就存在這樣或那樣的問題,反之也一樣。這種差別就筆者來看好像沒什么意義,因?yàn)槎际且粋(gè)公司的產(chǎn)品;雖然這種差別不多,但要搞清它的來龍去脈,足以使用戶忙乎一陣子,a無端增加了用戶的負(fù)擔(dān)。下面,本文就談?wù)動(dòng)嘘P(guān)SELECT語(yǔ)句在訪問不同數(shù)據(jù)庫(kù)方面的一些差別。在SQL Server、Access、VFP三個(gè)數(shù)據(jù)庫(kù)中分別有以下的這樣一個(gè)表名都為“Employee”的數(shù)據(jù)表。如圖1所示。

圖1
訪問日期型字段的差別
在大多數(shù)情況下用SELECT語(yǔ)句分別去訪問這三個(gè)數(shù)據(jù)庫(kù)的這張表,沒有什么區(qū)別,即你若編寫了訪問SQL Server數(shù)據(jù)庫(kù)的SELECT語(yǔ)句,同樣可用于訪問Access數(shù)據(jù)庫(kù)或VFP數(shù)據(jù)庫(kù),只要將連接的數(shù)據(jù)源改一改即可。但你若要對(duì)“出生年月”這一日期型字段進(jìn)行查詢的話,問題就來了,例如要查詢1980年1月1日至1985年12月31日的員工資料,訪問SQL Server中的數(shù)據(jù)表的語(yǔ)句是:
Select * from employee where 出生年月 between '1980-01-01' and '1985-12-31'
如果想當(dāng)然地用這條語(yǔ)句去訪問Access數(shù)據(jù)庫(kù)那就大錯(cuò)特錯(cuò)了,必須加上函數(shù)DateValue(),正確的寫法如下:
Select * from employee where 出生年月between DateValue('1980-01-01')and DateValue('1985-12-31')
如果要訪問VFP日期型字段又必須采用以下這種寫法:
select * from employee where 出生年月 between {^1980-01-01} and {^1985-12-31}
以上是SELECT語(yǔ)句對(duì)于訪問不同數(shù)據(jù)庫(kù)的日期型字段的差別,不了解這種差別,你會(huì)被搞得暈頭轉(zhuǎn)向,不知錯(cuò)在哪里。
統(tǒng)計(jì)方面的差別
對(duì)上例的Employee數(shù)據(jù)表,按部門統(tǒng)計(jì)總工資和人數(shù),就用VB來編寫一段統(tǒng)計(jì)和顯示的代碼,若已經(jīng)建立了連接對(duì)象Conn,記錄集對(duì)象RS,并已連接到某一數(shù)據(jù)源,具體代碼如下所示:
打開連接對(duì)象Conn '可打開SQL Server、Access、VFP數(shù)據(jù)源
conn.CursorLocation = adUseClient '建立游標(biāo)至客戶端
……
rs.Open "select 部門, sum(工資), count(*) from employee group by 部門", conn
Set DataGrid1.DataSource = rs
'將Rs綁定到DataGrid1控件并顯示
……
分享:如何用Access 輕松打造花店訂單系統(tǒng)任務(wù)名稱:打造花店訂單系統(tǒng) 任務(wù)描述:小特的MM開了一家花店,生意特別火,招了三個(gè)小工還有點(diǎn)忙不過來。每天都有不少人通過電話或直接到花店訂購(gòu)鮮花,大多數(shù)客戶還希望能在指定時(shí)間將所購(gòu)鮮花送到指定地點(diǎn)。小特便用Access幫MM定制了一個(gè)花店訂單系統(tǒng):通過這
- Access數(shù)據(jù)庫(kù)安全策略之ASP式
- 第N次被ACCESS的關(guān)鍵字涮
- Access中用Jet SQL語(yǔ)句刪除表關(guān)系
- Access報(bào)表打印如何自動(dòng)分頁(yè)
- Access完成累計(jì)余額的計(jì)算
- 搭建Access為主的Mdb數(shù)據(jù)庫(kù)
- 一句sql更新兩個(gè)表并可更新對(duì)應(yīng)的字段值具體實(shí)現(xiàn)
- MySQL查詢優(yōu)化:連接查詢排序limit(join、order by、limit語(yǔ)句)介紹
- 內(nèi)網(wǎng)ssh/mysql登錄緩慢的解決方法
- 使用準(zhǔn)則進(jìn)行條件查詢--1.4.從窗體中選擇查詢的條件
- 中文Access2000速成教程--1.1 使用“向?qū)А痹O(shè)計(jì)數(shù)據(jù)庫(kù)
- 中文Access2000速成教程--1.3 在“設(shè)計(jì)”視圖中設(shè)計(jì)表
Access數(shù)據(jù)庫(kù)教程Rss訂閱編程教程搜索
Access數(shù)據(jù)庫(kù)教程推薦
猜你也喜歡看這些
- access數(shù)據(jù)庫(kù)的數(shù)據(jù)轉(zhuǎn)換
- Access使用宏控制程序之創(chuàng)建宏
- Access命令行參數(shù)
- 如何將Access升級(jí)為SQL Server 2005
- Access通用-自動(dòng)替換數(shù)據(jù)庫(kù)中的字符串
- 怎樣將Access升級(jí)為SQL Server 2005
- 在VB中動(dòng)態(tài)創(chuàng)建數(shù)據(jù)庫(kù)
- Access數(shù)據(jù)庫(kù)開發(fā)技巧(二)
- 詳解如何遠(yuǎn)程調(diào)用Access數(shù)據(jù)庫(kù)
- 數(shù)據(jù)在Access與Office組件間自由流動(dòng)
- 相關(guān)鏈接:
- 教程說明:
Access數(shù)據(jù)庫(kù)教程-解讀ADO訪問不同數(shù)據(jù)庫(kù)的差別
。