目标:
我试图从“test”表中获取“test_results”列中的所有值,其中studentID等于某个变量。我试图在SQL中使用COUNT函数来执行此查询,但我一直在收到错误:
C#CODE:
MySqlCommand cmd = new MySqlCommand("SELECT COUNT(test_results) FROM test WHERE test.StudentID ='" + student + "';");
ERROR:
“在结果中找不到特定的列:test_results”
这很奇怪,因为我没有名为“results”的表。我在哪里犯了错误?
谢谢
编辑:
MySqlCommand cmd = new MySqlCommand("SELECT COUNT(test_results) AS test WHERE studentID = '" + student + "';");
除去上一个错误,但我有另一个错误,上面写着:
您在第1行'WHERE studentID ='6“附近的SQL语法中出错
答案 0 :(得分:1)
而不是
"SELECT COUNT(test_results) FROM test WHERE test.StudentID ='" + student + "';"
对列进行别名处理:
"SELECT COUNT(*) as test_results FROM test WHERE test.StudentID ='" + student + "';"
此外,始终使用参数化语句。请参阅此帖了解更多信息: