【问题标题】:Keep getting Syntax error in UPDATE statement在 UPDATE 语句中不断出现语法错误
【发布时间】:2017-03-20 22:28:47
【问题描述】:

由于某种原因,我不断收到语法错误。代码对我来说看起来不错。我做错了什么吗?

 query = "UPDATE misperDB SET name=?, surname=?, DOB=?, " &
    "[NHS No]=?, [Hosp No]=?, [Info Source]=?, [Missing From]=?, [Reporter Name]=?, [Reporter Contact]=?, Ethnicity=?, [Hair Colour=?], [Eye Colour=?], [Top Clothing=?], [Bottom Clothing=?], Cannula=?, [OBS Time=?], [OBS Date=?], [High Risk=?], Notes=?" &
    " WHERE id=?"

【问题讨论】:

  • 对于什么数据库? SQL 服务器?这不应该是一个很大的谜,错误通常是非常具体的。
  • 从这里 [Hair Colour=?], 一切都错了。这是[头发颜色]=?,
  • 列名也很可怕
  • 你真的应该使用命名参数,因为只要关闭一件事,就会听到它告诉你哪里错了。如果您的备注字段中有逗号怎么办????
  • 您还可以使用 XML 文字,以便 SQL 可以轻松跨行

标签: sql sql-server vb.net


【解决方案1】:

正如史蒂夫评论的那样,括号对某些变量的使用不正确:

 query = "UPDATE misperDB SET name=?, surname=?, DOB=?, " &
    "[NHS No]=?, [Hosp No]=?, [Info Source]=?, [Missing From]=?, [Reporter Name]=?, [Reporter Contact]=?, Ethnicity=?, 
--[Hair Colour=?], 
[Hair Colour]=?, [Eye Colour]=?, [Top Clothing]=?, [Bottom Clothing]=?, Cannula=?, [OBS Time]=?, [OBS Date]=?, [High Risk]=?, Notes=?" &
    " WHERE id=?"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    相关资源
    最近更新 更多