闻-鸡起舞 2013-09-18 09:25 采纳率: 0%
浏览 872

asp.net web 开发中的sql语句

mainThesisCommand.CommandText = "update thesisSet set MAINSELECTED=true where THESISNAME="+lblSelMain.Text;
为什么老是提示“至少一个参数没有被指定值”。跟踪时是对的啊

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-02-16 13:42
    关注

    该回答引用ChatGPT

    在这个 SQL 语句中,您正在使用一个字符串变量来设置 THESISNAME 列的值,但是您没有将该变量作为参数传递给 mainThesisCommand 命令对象。这可能会导致 SQL 注入攻击和其他问题,因此最好使用参数化查询来代替字符串拼接。


    您可以使用 SqlCommand 对象的 Parameters 属性来添加参数,然后将该参数的值设置为您要更新的论文名称的字符串值。例如:

    mainThesisCommand.CommandText = "UPDATE thesisSet SET MAINSELECTED = true WHERE THESISNAME = @ThesisName";
    mainThesisCommand.Parameters.AddWithValue("@ThesisName", lblSelMain.Text);
    

    这样做将为您提供一个更安全和可靠的 SQL 查询,并且不会导致任何“至少一个参数没有被指定值”的错误。

    评论

报告相同问题?

悬赏问题

  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面