【问题标题】:Error in set list in UPDATE clause. Unable to parse query textUPDATE 子句中的集合列表错误。无法解析查询文本
【发布时间】:2017-11-30 06:59:15
【问题描述】:

我在 asp.net c# 中有一个更新表查询,当我运行它时它给出了一个错误:在 UPDATE 子句中的集合列表中出错。 无法解析查询文本。

代码如下:

UPDATE HolidaysList  
SET Holiday = 'Vijaya Dashmi', 
    Date = '10/11/2016 12:00:00 AM', 
    Day = 'Tuesdayy', 
    Month = 'October' 
where SlNo = '10'

【问题讨论】:

  • Date 是保留关键字,试试"Date"DayMonth 也是如此
  • 另外,如果我没记错的话,ms-access 要求将日期值包装在#,而不是'

标签: c# sql asp.net ms-access error-handling


【解决方案1】:

您可以使用[] 作为列名

UPDATE [HolidaysList]  SET [Holiday] = 'Vijaya Dashmi', [Date] = '10/11/2016 12:00:00 AM', [Day] = 'Tuesdayy', [Month] = 'October' where [SlNo] = '10'

【讨论】:

  • 你可以,但你不应该。避免对字段名称使用保留字。这是不好的做法。同样如上所述,如果 [Date] (sic) 字段是日期数据类型,则将不起作用。您仍然需要在它周围使用 # 分隔符 [Date] = #2016/10/11 12:00:00 AM#
【解决方案2】:

您需要以 YYYY/MM/DD hh:mm:ss 格式设置日期。

另外,您使用的列名是一个类型:日期列。我已将其修改为 DateColumn。您可以将其更改为您各自的列名。

所以您的查询现在是:

UPDATE HolidaysList  SET Holiday = 'Vijaya Dashmi', DateColumn = '2016/10/11 12:00:00 AM', Day = 'Tuesdayy', Month = 'October' where SlNo = '10'

【讨论】:

    猜你喜欢
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多