ms access - INSERT INTO 语句中的语法错误,没有给出其他详细信息



生成的 SQL 我的代码看起来像这样 -

INSERT INTO [Item] (
  Vendor_num
, item
, [Desc]
, Pack
, item_size
, unit_of_sale
, allowance
, points
, Promo
, WS_Cost
, WS_Unit_cost
, Retailer_Price
, Retail
, Cust_Use
, Show_Price
, GP
, Min
, Max
, Book_Number
, Del1_date
, Del2_date
, Del3_date
, Del4_date
, Del5_date
, Del6_date
, Del7_date
, Del8_date
, Del9_date
, Del10_date
, Del11_date
, Del12_date
, Del13_date
, Del14_date
, Del15_date
, warehouse
, Purchase_Group
, GPM
, Material_Number
, PM
) VALUES (
  '11'
, '300681'
, 'item description'
, '60'
, 'BOX'
, 'BOX'
, '3'
, '20'
, 'Y'
, '0'
, null
, '0'
, null
, '03652'
, null
, null
, null
, null
, '832'
, '6/2/2014 12:00:00 AM'
, '6/30/2014 12:00:00 AM'
, '7/28/2014 12:00:00 AM'
, '8/18/2014 12:00:00 AM'
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
, '1'
, null
, null
, null
, null
)

(请原谅所有这些null值,它们在这些插入中通常不为 null,因此当它们不是时,语句需要足够灵活)

我收到一个通用错误——

An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll
Additional information: Syntax error in INSERT INTO statement.

当直接复制到 Access 中的新查询中时,该语句工作正常,但在通过 .NET 和 OLE DB 触发时,它会惨败。

有什么想法吗?

MinMax 是 Access 中的保留字,如果将它们用作字段名称,则应将其括起来,否则可能会遇到错误;

如果保留字已在使用中,则可以通过在每次出现的字周围用方括号 ([ ]) 来避免出现错误消息。但是,最好的解决方案是将名称更改为非保留字。

换句话说,用作字段名称时,它们应引用为 [Min][Max]

相关内容

最新更新