Access資料庫的Like查詢

2021-03-31 08:56:30 字數 1333 閱讀 2172

原文**:

作業系統:pnt4.0 sp5+iis4+access 97

工具:asp

問題:我有乙個客戶檔案資料庫,有大概13000條資料,用asp提取資料庫記錄的時候用

select name, address, lxr, tel from khda where name like '%江華%'

選出的記錄為0條,但是實際上資料庫中有這樣的記錄存在。如果用

select name,address,lxr,tel from khda where name like '%江華%' and qy='武漢市'

則可以找出正確的記錄。如果按access 97幫助中的寫法把第一句sql中的%改為*則報告記憶體溢位。第二句則可以執行,但無法找出記錄。

回答:

如果你用的是ado,那麼會出現這種問題,在《nt網路資料庫速成--設計例項》(中國鐵道出版社 1998)中提到access 97不支援like查詢。我在乙個intra***中設計乙個搜尋引擎時也發現了這個問題,我當時是先取得當前欄位的值後,再用vbscript提供的instr函式判斷要查詢的是否包含在內。另,因為access 97的效率特別是對sql語句執行效率較差,象你這麼多的資料還是換用其他資料庫較好。 

周冬的意見:

其實,ado 是支援的,只不過,like 語句中應該用2個%,如: select * from databasename where fieldname like '%%xx%%' 這樣就可以得到正確的查詢結果了。這個問題也同時困擾了我很久,現在有解了,和大家一起共享!:) 

chenhy的意見:

access裡like的萬用字元用法是這樣:

「?」表示任何單一字元; 「*」表示零個或多個字元; 「#」表示任何乙個數字

所以應該是:

select * from databasename where fieldname like '*xx*' 

szr、majie的意見:

出現這樣的具有模糊性質的查詢我覺得應用vbscript提供的instr函式比較好,具體語法請參照其函式的應用。如:select * from tab_name where instr(欄位1,條件)=1

此問題由kurt回答。

附加關鍵字:程式設計, 源程式, programming, source code, visual basic, vb, sql查詢, sql server, sql, query, select

Access資料庫LIKE問題

access裡like的萬用字元用法是這樣 表示任何單一字元 表示零個或多個字元 表示任何乙個數字 有時候用 作為萬用字元不行,需要用 號作為萬用字元 select from tablename where title like afish select from tablename where t...

ACCESS資料庫的注入

access資料庫的注入access資料庫的注入與mssql不同,要得到表名,字段,以及欄位的內容不能用mssql 暴 的方法直接得 到,access只能用猜解出表名和字段,然後再猜解出字段的長度,最後把字段的內容從第一位到第n位乙個個猜 解出來,採用的猜解方法類似玩乙個遊戲猜大小,比如乙個數字,猜...

連線ACCESS資料庫

1 匯入命名空間空間 system.data.oledb 2 建立指向資料庫的連線 建立連線要用到system.data.oledb命名空間中的類 oledbconnection。通過以下語句可以完成對本地資料庫的連線工作 string strconnect provider microsoft.j...