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

C#操作本地数据库执行INSERT触发SqlException错误求助

错误排查与修复方案

错误原因

  • SQL字符串拼接遗漏分隔符:你编写的INSERT语句字段部分,id_or_passport 和后续字段 newusernames 拼接时没有加逗号分隔,导致两个字段名被合并为异常提示里的无效列名 id_or_passportnewusernames。
  • 字段数与值数不匹配:上述拼接错误导致INSERT语句声明的插入字段只有6个,但VALUES子句中传入了7个参数,触发了字段数量和值数量不匹配的异常。

修复方法

修改SQL拼接部分的代码,在id_or_passport后补加逗号即可,修复后的代码片段如下:

SqlCommand insertcommand = new SqlCommand("insert into Users_Names (Names,Surname,Email, no_of_rooms,id_or_passport," +
    "newusernames, Newpassword) values(@name,@surname,@Mail,@NoOfRooms,@ID,@NewUsername,@Pword)");

额外优化建议

  • 编写多行拼接的SQL语句时,建议每个字段末尾都带上逗号,换行拼接时更容易检查语法遗漏,降低同类错误出现概率。
  • 不要直接明文存储用户密码到数据库,建议先做加盐哈希加密(比如BCrypt、SHA256加盐方案)后再存入,避免数据库泄露后用户密码直接暴露。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:36:03