1. 程式人生 > >Access資料庫的Like查詢

Access資料庫的Like查詢

原文網址:http://www.china-askpro.com/msg15/qa22.shtml

NewStar:
    作業系統: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查詢。我在一個Intranet中設計一個搜尋引擎時也發現了這個問題,我當時是先取得當前欄位的值後,再用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資料庫查詢執行速度的區別

一般而言,在10萬條記錄下的表查詢,加不加索引,查詢速度沒用明顯區別,但是記錄增加到100萬條後,這種差別就很明顯了。 比較VFP和ACCESS,在100萬條資料中 VFP中加入CDX索引,查詢結果變化不大。 ACCESS針對欄位加入索引後,原查詢需要約2-3秒鐘,但是現在

Access資料庫Like查詢

原文網址:http://www.china-askpro.com/msg15/qa22.shtmlQ NewStar:     作業系統:PNT4.0 SP5+IIS4+Access 97     工具:ASP     問題:我有一個客戶檔案資料庫,有大概13000條資料,用

C#查詢ACCESS資料庫欄位和時間欄位

查詢表的所有欄位 string.Format("SELECT * FROM{0}", TableName); 查詢表中的一個欄位 在ACCESS中將欄位用CStr()轉換成字串來判斷 string.Format("SELECT* FROM {0} WHERE CStr({1})=

VB 對資料庫access的模糊查詢程式碼

Option Explicit Dim conn As New ADODB.Connection '定義connection 物件 Dim rs As New ADODB.Recordset Private Sub Form_Load() '初始化程式

ASP查詢ACCESS庫模糊查詢like的解決方法

前言:ACCESS的萬用字元和SQL SERVER的萬用字元比較===================================================ACCESS庫的萬用字元為: *  與任何個數的字元匹配 ?  與任何單個字母的字元匹配 SQL Server

Access資料庫多表聯合查詢

Access 資料庫多表聯合查詢 1、Access 資料庫多表聯合查詢,每次連線之前須將連線符前面的內容放在括號裡面,示例如下:        select 表a.欄位1,表b.欄位1,表c.欄位1,

MFC學習(12)Access資料庫多表聯合查詢

1、Access 資料庫多表聯合查詢,每次連線之前須將連線符前面的內容放在括號裡面,示例如下:       select 表a.欄位1,表b.欄位1,表c.欄位1,表d.欄位1 from ((表a inner join 表b on 表a.欄位=表b.欄位) inner join 表c on 表c.欄位=表a.

Access資料庫“操作必須使用一個可更新的查詢

今天又遇到這樣一個錯誤“操作必須使用一個可更新的查詢”這裡我整理下原因及解決辦法,大家以後再遇到相同的問題可以先試下類似的解決辦法. 網上百度了很多,都沒有什麼作用,大多都是說許可權問題,改的也都很麻煩,最後還是沒有解決,下面具體說下我的情況: 表A中有欄位id、roomn

用asp查詢Access資料庫的程式碼

下邊是ASP與ACCESS的連線程式碼~ =============================================================== ASP與Access資料庫連線: <%@ language=VBs cript%> <% dim conn,mdbfile

VB查詢ACCESS資料庫內容

Dim cnn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim cmd As New ADODB.CommandPrivate Sub Command2_Click()On Error Resume Next'

MySQL 效率不高的LIKE查詢

position www. select 簡單 %d sele 使用 mysql 模糊 在一些小型的網站都mysql采用like查詢語句,簡稱模糊查詢,使用百分號 %字符來表示任意字符 作為查詢的標準,下面簡單說說常見的用法。 1,標準的用法 SELEC

MySQL、SQL server 、Oracle資料庫查詢所有的資料庫查詢指定資料庫所有表名,查詢所有的欄位的名字

MySQL中查詢所有資料庫名和表名 1.查詢所有資料庫 show databases; 2.查詢指定資料庫中所有表名 select table_name from information_schema.tables where table_schema='database_name' a

C# 讀取Access資料庫及php讀取伺服器上的Access資料庫

Access資料庫他是不能遠端訪問的,也就是說實際上它是單機的一個數據庫,那麼如果非要遠端訪問它那麼就需要php作為中間語言去操作Access資料庫。 我想現實使用C#在本地訪問Access資料庫。要想訪問Access資料庫,我們首先得自己建立一個數據庫檔案:在開始選單中找到 Microso

Qt實現把時間插入Sqlite資料庫查詢

1.問題 Sqlite沒有時間型別,一般用vchar來實現 插入給time欄位插入資料     QString dataTime = QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss");//獲取當前

如何提高MySql資料庫查詢的效率

做django的專案,用python語言寫查詢資料庫的語句,使用OuterRef, Subquery,Exists,F建立複雜的查詢語句: 資料庫模型: from django.db import models # 經緯度唯一表 class LngLat(models.Model):

nodejs連線Access資料庫,出現Error: Spawn C:\WINDOWS\SysWOW64\cscript.exe error Java專案生成可執行jar包、exe檔案以及在Windows下的安裝檔案

因為集成了第三方的資料庫,所以需要獲取資料庫的資料 使用 var connection = ADODB.open('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+config.id_path+';');  

連線Access資料庫的連線字串

來自森大科技官方部落格 http://www.cnsendblog.com/index.php/?p=92連線Access資料庫的連線字串 把資料庫檔案放在App_Data資料夾中,Web.Config檔案中的連線字串如下所示:<connectionStrings><add name

robot framework資料庫連線查詢

資料庫:oracle 在Test Suit在吉安用例 新建UserKeyword中間關鍵字 在resource中放置變數,如上圖(dbScalar.txt),一開始變數名不是以下劃線開頭,結果Connect To Database Using Custom Params報找不到變數

c#向Access資料庫中批量插入大量記錄的方法

 最近有同事離職,我把他經手的專案接了過來,其中有一個功能,經過長時間運算以後,產生了17W條左右的記錄,一次性儲存到資料庫中,每次介面要卡頓1分鐘多,很是鬧心,決定修改一下 【基本情況】 c#、nhibernate、Access資料庫 【解決思路】 1、據說第一版

JAVA在原有資料庫通訊的基礎上新增與Access資料庫的簡單通訊

第一步:首先我們需要寫一個Access資料庫介面連線類 /** * Created by Knigh on 2017/6/26. */ public class AccessJoinAction {     Connection con = nu