C# проблема с запросом файла dbase; проблема с использованием предложения WHERE

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

Я пробовал:

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] Синтаксическая ошибка в предложении WHERE.

Любая помощь будет оценена.


person Henry    schedule 09.08.2011    source источник


Ответы (2)


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

выберите * из FILE.DBF, где [ГРУППА] = 21;

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

person Community    schedule 09.08.2011

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

person Dot NET    schedule 09.08.2011