0

c#コード内からodbcを使用してdbase .dbfファイルをクエリしていますが、クエリで「where」句を使用すると問題が発生します。'FILE.DBFから*を選択する'だけで、レコードを正常に取得して読み取ることができます。回答を検索するときにWebページに表示されるすべての例は、それだけの構文を示しています。'where'を使用してselectステートメントを作成する複数の方法を試しましたが、これまでのところすべて失敗しています。したがって、dbaseファイルに対するクエリで「where」句を使用できないのか、それとも単に正しい構文をまだヒットしていないのか、疑問に思っています。

私はもう試した:

select * from FILE.DBF where GROUP = 21;
select * from FILE.DBF where GROUP = '21';
select * from FILE.DBF where GROUP = "21";

これらすべての結果は次のエラーです。ERROR[42000][Microsoft][ODBC dBaseDriver]WHERE句の構文エラー。

どんな助けでもありがたいです。

4

2 に答える 2

8

GROUPという単語を角かっこで囲んでみてください...のように。

select * from FILE.DBF where [GROUP] = 21;

GROUPはSQLキーワードであり、いくつかの問題を引き起こしている可能性があります。

于 2011-08-09T11:54:18.560 に答える
1

GROUPは、SQL自体に使用されるキーワードです。代わりに「Group」を別のフィールドに置き換えて(当然、別の条件も)、同じクエリを別の「where」句で実行してみてください。クエリが機能する場合は、「GROUP」がGROUP BYのSQL構文と混同されているため、フィールド名を囲むために角かっこまたはその他の文字を使用する必要がある場合があります。

于 2011-08-09T12:07:02.993 に答える