c#
  • mysql
  • aggregate-functions
  • 2017-03-05 71 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

    相關問題