Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我的Sql Delete语句被解释错误_C#_Sql - Fatal编程技术网

C# 我的Sql Delete语句被解释错误

C# 我的Sql Delete语句被解释错误,c#,sql,C#,Sql,这可能只是我看错了,但我需要另一个人的眼睛来看着它,因为我看不见它 为什么会这样: comm.CommandText = "Delete from COURSE where COURSE_NAME='" + theCourse.CourseName() + "';"; // create query 在结尾处输出报价,而不是' 结果: Delete from COURSE where COURSE_NAME='LEARNING VITALS" 不要!!!在构建sql语句时连接字符串,这样就可

这可能只是我看错了,但我需要另一个人的眼睛来看着它,因为我看不见它

为什么会这样:

comm.CommandText = "Delete from COURSE where COURSE_NAME='" + theCourse.CourseName() + "';"; // create query
在结尾处输出报价,而不是'

结果:

Delete from COURSE where COURSE_NAME='LEARNING VITALS"

不要!!!在构建sql语句时连接字符串,这样就可以防止sql注入攻击。改用参数

comm.CommandText = "DELETE FROM Course WHERE Course_Name=@name";
comm.Parameters.AddWithValue("@name", "theNameOfTheCourse");

好的,不要问我为什么或者怎么做,但是当你在引号中用空格隔开“;”的时候,'会出现,而“会消失,并且会起作用。”

编辑代码:

comm.CommandText = "Delete from COURSE where COURSE_NAME='" + theCourse.CourseName() + "'; ";

检测到SQL注入。请尝试将其更改为使用参数化查询。这不仅可能会解决您的问题,而且还会阻止SQL注入。可能
CourseName()
方法正在返回带有尾随引号的字符串。请使用调试器查看
theCourse.CourseName()中的值
它在Debugger中没有引用好的建议,但它不是答案是的,这很好,它无法解决我的问题。不过我已更改为此,因此感谢您提供的信息。