MS Access类似于c#的SQL查询
本文关键字:SQL 查询 Access 类似于 MS | 更新日期: 2023-09-27 18:17:44
我使用c#和Ole DB命令对Ms Access和im进行此查询。它适用于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方言中更常用的通配符)
From http://technet.microsoft.com/en-us/library/cc966377.aspx:
Microsoft Jet使用带有Like操作符的部分匹配(或"通配符")字符,与大多数SQL方言中使用的操作符不同。星号(*)字符匹配零个或多个字符,相当于ANSI SQL中的百分比(%)字符。其他Microsoft Jet部分匹配字符是问号(?),它匹配单个字段中的任何字符,以及数字符号(#),它匹配单个字段中的任何数字。