You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#操作SQL Server插入tblOrders表时报Transaction附近语法错误

错误原因

Transaction是SQL Server的保留关键字,直接作为列名写在SQL语句中时,会被数据库解析引擎误识别为语法指令,而非你自定义的列名,最终触发语法报错。你之前仅核对C#代码逻辑,编译器不会校验嵌入的SQL语句语法,所以完全排查不到这类异常。

修复方案
  • 给SQL语句中的Transaction列名加方括号转义,避开保留字冲突
  • 若后续可调整表结构,尽量不要用SQL保留字作为列名,减少每次写语句都要转义的额外成本

修改后的SQL命令代码如下:

cmd = new SqlCommand("INSERT INTO tblOrders (TransactionCode, Name, [Transaction], Variety, Weight, Price, Quantity, TotalPayment) VALUES(@TransactionCode, @Name, @Transaction, @Variety, @Weight, @Price, @Quantity, @TotalPayment)", con);
额外注意

如果修改后仍弹出同类语法错误,可逐一排查其余列名是否属于保留字,类似Name、Weight这类高频歧义字段,建议一并加上方括号转义,彻底规避冲突。

内容的提问来源于stack exchange,提问作者alexa torrento

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.29 01:54:04