Visual Studio 2010 和 Access、VB.NET 上的 LIKE 命令问题

问题描述

我已经搜索了答案,但我发现的那些我无法工作。

我在网络驱动器上有一个用 MS Access 编写的数据库。前端是用 Visual Studio 2010 (VB) 编写的。我可以正常获取数据,但我需要执行 LIKE 搜索以查看是否有任何记录可能与用户输入的内容匹配。

本质上,数据库是介质上提供的条形码列表。用户提供条码列表,但这是通过肉眼完成的,由于大小、位置或未提供,可能会遗漏最后两个字母/数字。扫描条形码时,它会读取完整的详细信息。例如“aif00511L6”。

如果有重复,那么我需要通知用户可能有一个或多个记录。重复的条形码是可能的(不要问),所以我需要向用户提供详细信息,以便他们可以最终决定这是相同的还是不同的媒体。

我在VB中的代码是:

Dim sqlString as String = "SELECT COUNT(*) AS Count1 " &
                          "FROM " & Table & " " & 
                          "WHERE " & Column & " " & 
                          "LIKE '*" & Search & "*';"

运行时sqlString的代码是:

SELECT COUNT(*) AS Count1 FROM Assets WHERE aItem LIKE '*IF00511L*';

这在 Access 中工作正常(返回 1),但在 VS 中不起作用。我曾尝试使用 '%' 代替 '*' 但这也不起作用。在 VS 中它返回 0。

对此的任何帮助将不胜感激。

解决方法

我保存并重新启动了我的项目并进行了以下更改,现在它可以工作了!

Dim SQLString As String = "SELECT COUNT(*) AS Count1 " &
                          "FROM " & Table & " " &
                          "WHERE " & Column & " " &
                          "LIKE '%" & Search & "%';"

所以它需要是 % 而不是 *,我尝试过但没有奏效,哦,好吧。