2017-03-05 7 views
-2

目的:C#でSQLのCOUNT関数を使用する方法

私はstudentIDは、いくつかの変数に等しいテーブル「テスト」から列「test_results」のすべての値を取得しようとしています。

C#コード:

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

ERROR:

"cannot find specificed column in results: test_results"

私が持っているので、奇妙である私は、しかし、私はERORを得続けるこのクエリを実行するSQLにCOUNT関数を使用しようとしています"結果"という名前のテーブルはありません。どこでエラーが生じましたか?

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 + "';" 

ドを:

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

しかし私が言う別のエラーを持っている前のエラーを取り除く:

EDITはありがとうございました列の折り返し:

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

また、常に使用パラメータ化声明。詳細を知るために、この記事を参照してください。

+0

@CsharpStudent - テストテーブルにtest_resultsカラムがないので、 'count(*)'を使用してください。 – GurV

+1

クエリを作成し、データベース上で直接実行して、正しく動作していることを確認してからコード内で使用してください。さらに助けが必要な場合は、テーブルスキーマ – GurV

+0

を投稿してください。若干の誤差。ありがとうございます – CsharpStudent

関連する問題