久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

VB6基本數(shù)據(jù)庫應(yīng)用(九):【增補(bǔ)篇】不同的引擎的語法差異

 hdzgx 2019-12-06

正篇在寫的時(shí)候出了一些問題,。這些問題在以前的內(nèi)容中沒有被提及,或者提及了卻沒有細(xì)說,,如今在繼續(xù)的時(shí)候如果不說清楚,,會讓后面的學(xué)習(xí)變得含混不清,為此決定發(fā)布兩篇增補(bǔ)篇,,來解決一下以前的遺留問題,。

本來打算用LIKE模糊查詢,讓賬戶框可以顯示出符合當(dāng)前開頭賬戶名,。結(jié)果卻發(fā)現(xiàn)無論怎么查詢都沒有結(jié)果,。當(dāng)時(shí)候我寫的SQL語句是這樣的:

SELECT * FROM UserAccount WHERE AccountName LIKE '幾*'

幾羅星人是我為自己創(chuàng)建的賬號,結(jié)果這個(gè)語句在Access里能查到賬戶名是“幾羅星人”的記錄,而在VB里卻沒有任何記錄返回,。

幾經(jīng)查找,,才發(fā)現(xiàn)是數(shù)據(jù)庫引擎在作怪。雖然我知道不同的數(shù)據(jù)庫對SQL的支持不一樣,,不過沒想到會栽在這里,。

原來,SQL有自己的國際標(biāo)準(zhǔn)ANSI SQL,,而微軟的Access數(shù)據(jù)庫使用的是自己的Jet OLEDB數(shù)據(jù)庫引擎(在連接字符串中也有體現(xiàn),,如下圖),兩者雖然絕大多數(shù)的語法一樣,,但是還是有一定的差異,,而這個(gè)通配符就是其中之一。


下面的表格列出了Access,、SQL Server以及ADO所使用的SQL語法:

 數(shù)據(jù)庫/對象 

 SQL語法

 Access

 Jet SQL

 SQL Server

 ANSI SQL 

 ADO

 ANSI SQL 

顯然,,Access和我們所使用的ADO所支持的語法是不一樣的,所以才導(dǎo)致了SQL語句在Access能用,,在VB上不能用的現(xiàn)象,。

實(shí)際上,目前發(fā)現(xiàn)的差異并不多,。一個(gè)是Jet SQL中的Betweenvalue1 And value2,,允許value1> value2,但這并沒有什么卵用,,這種情況下結(jié)果與交換value1與value2的位置產(chǎn)生的結(jié)果是一樣的,。

第二個(gè)差異就是通配符,下面的表格列出了兩種語法支持的通配符以及對應(yīng)關(guān)系:

Jet SQL

ANSI SQL

匹配類型

模式

匹配類型

模式

多個(gè)字符:*

a*a

多個(gè)字符:%

a%a

*ab*

%ab%

ab*

ab%

特殊字符:[]

a[*]a

未提及

單個(gè)字符:?

a?a

單個(gè)字符:_

a_a

單個(gè)數(shù)字:#

a#a

單個(gè)數(shù)字:[0-9]

a[0-9]a

字符范圍:[?-?]

[a-z]

字符范圍:[_-_]

[a-z]

范圍之外:[!?-?]

[!a-z]

同樣

數(shù)字值:[#-#]

[0-9]

非數(shù)字值:[!#-#]

[!0-9]

復(fù)合值:組合上述語法

a[!b-m]#

主要的差異為多個(gè)字符的表示,,一個(gè)字符的表示,,一個(gè)數(shù)字的表示有不同。

所以,,當(dāng)初的SQL語句在VB中應(yīng)該寫成:

SELECT * FROM UserAccount WHERE AccountName LIKE '幾%'

而且值得注意的是,,不能直接在Access的查詢中使用ANSI SQL語法,也就是說兩種語法互不兼容,,只能使用一種,。

下一篇依然是增補(bǔ)篇,簡介游標(biāo)與鎖,。

下一篇:【增補(bǔ)篇】游標(biāo)Cursor和鎖Lock簡介 http://blog.csdn.net/jiluoxingren/article/details/48738905

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多