【问题标题】:Problem with LIKE command on Visual Studio 2010 and Access, VB.NETVisual Studio 2010 和 Access、VB.NET 上的 LIKE 命令问题
【发布时间】:2021-05-14 09:51:14
【问题描述】:

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

我有一个用 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。

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

【问题讨论】:

    标签: sql vb.net ms-access


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-10
      • 1970-01-01
      • 2011-10-13
      • 1970-01-01
      • 1970-01-01
      • 2011-08-09
      相关资源
      最近更新 更多