0

だから私はいくつかの vb.net を学び始めています。私のテーブルの 1 つの列の個別のカウントを取得する次の mysql ステートメントがあります。構文エラーに適合していましたが、私が読んだほとんどすべてが、私が持っているものが正しいはずであることを示唆しています. また、MySQL Workbench に取り込んだところ、何らかの理由でコードでの動作を拒否しただけで、正常に動作しました。

Dim sRetrieve As String
Dim numvals As OdbcDataReader
sRetrieve = "SELECT COUNT (DISTINCT defect_code) FROM daily_data WHERE MONTH(date)=" & select_month & " AND YEAR(date)=" & select_year
Dim query_exe As New Odbc.OdbcCommand(sRetrieve, cn)
numvals = query_exe.ExecuteReader()

私はしばらくこれに頭を悩ませてきたので、そのmysqlステートメントの何が問題なのか教えていただければ幸いです。

考えてみると、COUNT と最初の ( の間のスペースはそれを行っていました。これほど長く私を支えてきたのは、とても陽気で小さなことですが、それがどうなっているのかと思います。皆さん、助けてくれてありがとう。

4

1 に答える 1

0

mysql の MONTH(date) は文字列を返します。したがって、 で囲む必要があります' '

sRetrieve = "SELECT COUNT (DISTINCT defect_code) FROM daily_data WHERE MONTH(date)='" & select_month & "' AND YEAR(date)=" & select_year;
于 2013-06-21T18:28:55.280 に答える