c#
  • mysql
  • aggregate-functions
  • 2017-03-05 133 views -2 likes 
    -2

    目的:如何使用SQL COUNT函数在C#

    我试图让从表“测试”,其中studentID是等于某一变量的列“test_results”的所有值。我想使用COUNT函数在SQL做到这一点查询,但是我不断收到eror:

    C#代码:

    MySqlCommand cmd = new MySqlCommand("SELECT COUNT(test_results) FROM test WHERE test.StudentID ='" + student + "';"); 
    

    错误:

    "cannot find specificed column in results: test_results"

    这是奇怪的,因为我有没有名为“结果”的表格。我在哪里犯了一个错误?

    谢谢

    编辑:

    MySqlCommand cmd = new MySqlCommand("SELECT COUNT(test_results) AS test WHERE studentID = '" + student + "';"); 
    

    摆脱了以前的错误,但我有说,另一个错误:

    you have an error in your SQL syntax near 'WHERE studentID = '6" at line 1

    +0

    COUNT需要现有的列名或只是一个*。你在表_test_中有一列名为_test_results_? – Steve

    +0

    您编辑的版本已经丢失了'from'子句。 –

    +0

    嗯这是eror。谢谢 – CsharpStudent

    回答

    1

    而不是

    "SELECT COUNT(test_results) FROM test WHERE test.StudentID ='" + student + "';" 
    

    待办事项列的混叠:

    "SELECT COUNT(*) as test_results FROM test WHERE test.StudentID ='" + student + "';" 
    

    此外,总是使用参数声明。看到这个帖子了解更多:

    +0

    @CsharpStudent - 因此,您的测试表中没有test_results列,请使用'count(*)'。 – GurV

    +1

    请进行查询,直接在数据库上运行以确保它正常工作,然后在代码中使用它。如果您需要进一步的帮助,请发布表架构 – GurV

    +0

    它的工作原理。轻微的错误。谢谢 – CsharpStudent

    相关问题