[英]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.