在 OleDbCommand 中使用“... where Column like ...”不起作用

Wou*_*ter 1 c# sql ms-access oledbcommand visual-studio

我正在使用 C# 从 Access(我认为是 2003 或 2007)数据库中选择某些内容,但它没有选择任何内容。我在 Access 本身中尝试了 SQL 语法,它似乎工作正常。我对 C# 和 Access 相当陌生。

到目前为止我所拥有的:

OleDbCommand command = new OleDbCommand("Select * from Lid Where Naam Like @naam order by RangID desc, Creatiedatum, Naam", connection);
command.Parameters.Add(new OleDbParameter("@naam", "*" + naam + "*"));
Run Code Online (Sandbox Code Playgroud)

我尝试了一些变体,使用 % 而不是 *,将其放在第一行而不是参数处等等。但到目前为止似乎没有任何效果。我没有找到解决方案谷歌搜索,也许我只是不知道要谷歌什么,就像我之前所说的那样,我对 C# 和 Access 还很陌生。

Han*_*sUp 5

有了OleDb,你肯定需要%而不是作为*通配符。

我不知道.Net,但我猜这会起作用......

OleDbCommand command = new OleDbCommand("Select * from Lid Where Naam Like '%' & @naam & '%' order by RangID desc, Creatiedatum, Naam", connection);
command.Parameters.Add(new OleDbParameter("@naam", naam));
Run Code Online (Sandbox Code Playgroud)