C # проблема запроса файла базы данных; проблема с использованием предложения WHERE - PullRequest
0 голосов
/ 09 августа 2011

Я запрашиваю dbase-файл .dbf с помощью odbc из моего кода на c #, и у меня возникла проблема с использованием предложения where в моем запросе.Я могу нормально извлекать и читать записи, если я просто «выбираю * из FILE.DBF», и каждый пример, который я вижу на веб-страницах при поиске ответа, показывает такой большой синтаксис.Я пробовал несколько способов построения оператора select с «где», и пока все они терпят неудачу.Итак, мне интересно, могу ли я просто НЕ использовать предложение 'where' в запросе к файлу dbase, или я просто еще не выбрал правильный синтаксис.

Я пробовал:

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

Результатом всего этого является ошибка: ОШИБКА [42000] [Microsoft] [ODBC dBase Driver] Синтаксическая ошибка в предложении WHERE.

Любая помощь приветствуется.

Ответы [ 2 ]

8 голосов
/ 09 августа 2011

Попробуйте заключить слово GROUP в скобки ... как в ..

select * from FILE.DBF, где [GROUP] = 21;

GROUP - это ключевое слово SQL, и оно наиболеевероятно вызывает некоторые проблемы.

1 голос
/ 09 августа 2011

GROUP - это ключевое слово, используемое для самого SQL. Попробуйте выполнить тот же запрос, но с другим предложением 'where', заменив вместо него 'Group' другим полем (и, конечно же, другим условием). Если запрос работает, то «GROUP» смешивается с синтаксисом SQL для GROUP BY, и поэтому вам может понадобиться использовать скобки или какой-либо другой символ для заключения имени поля.

...