簡體   English   中英

來自C#的MS Access SQL LIKE查詢

[英]MS Access SQL LIKE query from C#

我有Ms Access的查詢,我使用C#和Ole DB命令。 它適用於Ms Access,但是當我使用OleDB從C#傳遞查詢時,沒有任何反應。 無論如何這是我的代碼:

SQL查詢

SELECT * FROM tblIssue WHERE  id LIKE '*2*' AND dateChecque LIKE '**'AND +
issueTo LIKE '**' AND byTheName LIKE '**' AND bankName LIKE '**' AND accountNo LIKE '**' +
AND checqueNo LIKE '**' AND amount LIKE '**' AND being LIKE '**'   AND whoDeleted LIKE '**' +
AND whyDeleted LIKE '**' AND dateCreated LIKE '**';

C#代碼

try
{
    DataTable newDt = new DataTable();
    OleDbDataAdapter newSda = new OleDbDataAdapter(sqlQuery , conn);
    newSda.Fill(newDt);

    if (newDt.Rows.Count > 0)
    {
        dataGridView1.DataSource = newDt.DefaultView;
        _hasData = true;
    }
    else
    {
        _hasData = false;
    }
}
catch (Exception error)
{
    MessageBox.Show(error.ToString()); conn.Close();
}

從Microsoft Access應用程序本身執行的查詢通常使用*? 作為LIKE運算符的通配符。 從外部應用程序到Access數據庫的OleDb連接應該使用%_通配符。 (后者實際上是其他SQL方言中比較常用的通配符。)

來自http://technet.microsoft.com/en-us/library/cc966377.aspx

Microsoft Jet使用與Like運算符不同的部分匹配(或“通配符”)字符,這些字符與大多數SQL方言中使用的字符不同。 星號(*)字符與零個或多個字符匹配,相當於ANSI SQL中的百分比(%)字符。 其他Microsoft Jet部分匹配字符是問號(?),它匹配單個字段中的任何字符,數字符號(#)匹配單個字段中的任何數字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM