Select 查询在 Access2010 中工作正常但在 C# 代码中不工作

Select Query Works fine in Access2010 but not in C# code

我有一个简单的 Select 查询,它在 Access 中运行良好,但在 C# 代码中运行不正常 这是查询

SELECT FIRST(ItemName) As Item 
from SubmitData  
where ItemName like 'txt_rdo_breaks*' 
and Deleted=false

这是它在 Access 中的结果

但在 C# 代码中它不返回任何内容 这是 C# 代码

 cmd1.CommandText = "SELECT FIRST(ItemName) As Item from SubmitData  where ItemName like 'txt_" + controlPatrs[0] + "*' and Deleted=false";
 OleDbDataReader reader1 = cmd1.ExecuteReader(System.Data.CommandBehavior.Default);
 while (reader1.Read())
 {
     if (Convert.ToString(reader1["Item"]).Length > 1)
     {
          tag += Convert.ToString(reader1["Item"]) + "|txt_" + controlPatrs[0] + "|" + controlPatrs[2] + "||";
     }

  }
 reader1.Close();

关注 Ivan Stoev 的 评论

OleDbProvider query seems to require a different wildcard characters - '%'

在 Access 中,它使用 * 符号,但在使用 OleDbProvider 时,% 符号有效。 所以正确的命令文本是

cmd1.CommandText = "SELECT FIRST(ItemName) As Item from SubmitData  where ItemName like 'txt_" + controlPatrs[0] + "%' and Deleted=false";