mainThesisCommand.CommandText = "update thesisSet set MAINSELECTED=true where THESISNAME="+lblSelMain.Text;
为什么老是提示“至少一个参数没有被指定值”。跟踪时是对的啊
该回答引用ChatGPT
在这个 SQL 语句中,您正在使用一个字符串变量来设置 THESISNAME 列的值,但是您没有将该变量作为参数传递给 mainThesisCommand 命令对象。这可能会导致 SQL 注入攻击和其他问题,因此最好使用参数化查询来代替字符串拼接。
您可以使用 SqlCommand 对象的 Parameters 属性来添加参数,然后将该参数的值设置为您要更新的论文名称的字符串值。例如:
mainThesisCommand.CommandText = "UPDATE thesisSet SET MAINSELECTED = true WHERE THESISNAME = @ThesisName";
mainThesisCommand.Parameters.AddWithValue("@ThesisName", lblSelMain.Text);
这样做将为您提供一个更安全和可靠的 SQL 查询,并且不会导致任何“至少一个参数没有被指定值”的错误。