【问题标题】:Search AutoNumber field in Access via SQL (VB)在 Access via SQL (VB) 中搜索自动编号字段
【发布时间】:2013-12-02 18:12:54
【问题描述】:

我正在尝试让“用户”通过搜索他们的会员 ID 来搜索“会员”。这是数据库的截图(设计视图)。

https://drive.google.com/file/d/0B7pMpT1WtgKDVU5MVkFYNXJjcTA/edit?usp=sharing

如果在 VB 中将 ID 搜索为整数,则会产生数据类型不匹配错误(见下文)

https://drive.google.com/file/d/0B7pMpT1WtgKDMFVtYlFiWlpES0E/edit?usp=sharing

很抱歉又问了一个可能毫无意义的问题,不过还是谢谢你——意思是很多!

【问题讨论】:

    标签: sql vb.net


    【解决方案1】:

    错误在于这一行:

    sqlstatement = "Select * from Members where ID = '" +  MemberID + "';"
    

    应该是:

    sqlstatement = "Select * from Members where ID = " +  MemberID + ";"
    

    由于您的 "ID" 字段是 Autonumber,因此您正在使用错误的字符串检查条件。

    【讨论】:

      【解决方案2】:

      你在做

      "WHERE ID = '" + MemberID + "';"
      

      在您的 VB 代码中。我想这可能是你的 问题。我猜它认为 ID 是字符串, 而不是 int。

      我对VB不是很熟悉,但是 试试不带 '' 即这样:

      "WHERE ID = " + MemberID + ";"
      

      【讨论】:

      • 非常感谢您!这么小的错误,我被甩了,很容易放弃。
      • NP,您的错误很明显:“标准表达式中的数据类型不匹配”。条件表达式是 WHERE 子句中的表达式。那么它现在可以工作了吗?
      • 哎呀,我好像又得第二了;)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      • 2013-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多