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

C# WinForm插入URL参数报错:关键字‘user’附近语法不正确

问题原因及解决办法

这个报错的核心原因很明确:user是SQL Server的保留关键字,你直接在INSERT语句里把它作为列名使用时,SQL解析器会误以为你在调用这个关键字的功能,而不是指代你的数据表列,因此抛出了语法错误。

解决方法非常简单,只需要把列名user用方括号[]包裹起来,明确告诉SQL这是一个列名而非关键字。修改后的SQL语句如下:

String query = @"INSERT INTO dbo.PrivateUsers([user]) VALUES(@user);";

完整的修正后代码示例:

SqlConnection con = new SqlConnection(DataBase.GetConString());
con.Open();
String query = @"INSERT INTO dbo.PrivateUsers([user]) VALUES(@user);";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.AddWithValue("@user", url);
int count = cmd.ExecuteNonQuery();
con.Close();

另外给你个实用建议:后续设计数据库表结构时,尽量避免使用SQL的保留关键字作为表名、列名或其他对象名,这样能从根源减少类似语法问题,让代码更易读也更稳定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 03:50:46