Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выполнение запросов в ADOQuery [D6, Access]


Dyusha ©   (2005-02-12 09:04:00) 

Здравствуйте Уважаемые Мастера!!! У меня такая проблема с запросом в  ADOQuery
при выполнении следующего кода:
with RadioGroup1 do begin
if ItemIndex=1 then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='Select ID_SPECIALITY, NAME_SPECIALITY, GROUP from REESTR_SPEC where GROUP="Образование" ';
ADOQuery1.Open;
end;
end;

появляется ошибка [Microsoft][Драйвер ODBC Microsoft Access] Ошибка синтаксиса в предложении Where. Таблица хранится в базе данных на Access

Заранее благодарен за любую помощь.


sniknik   (2005-02-12 12:41:00) [1]

ADOQuery1.SQL.Text:='Select ID_SPECIALITY, NAME_SPECIALITY, [GROUP] from REESTR_SPEC where [GROUP]=''Образование''';

> И кавычки всетаки должны быть двойные......
необязательно, jet понимает и те и те, а у ODBC какоето ограничение (какието не понимает), проверь оба варианта.


Dyusha   (2005-02-12 11:35:00) [2]

//Таблица "REESTR_SPEC" точно существует?
Таблица существует все запросы с другими выражениями типа ORDER BY и т.д. работают, кроме как Where.
Возможно он ругается что у свойства Parametrs у ADOQuery ничего нет

И кавычки всетаки должны быть двойные......


Киря   (2005-02-12 10:52:00) [3]

Должны быть одинарные кавычки:
Select * from REESTR_SPEC where GR='Образование'


SlyFox   (2005-02-12 09:58:00) [4]

Ну не знаю. С такой вот connection string все всегда работало как электровеник (и гораздо более сложные запросы):

Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=kassa.mdb;Persist Security Info=True

Таблица "REESTR_SPEC" точно существует?


Dyusha   (2005-02-12 09:50:00) [5]

Еще может быть подозрение, что Access не понимает такую конструкцию SQL, хотя это мало вероятно ведь она наипростейшая

:-((


Dyusha   (2005-02-12 09:48:00) [6]

//А почему не Microsoft Jet4.0 OLE DB Provider?

Я его использовал в строке инициализации ADOConnection


SlyFox   (2005-02-12 09:39:00) [7]

Dyusha ©   (12.02.05 9:35) [3]
[Microsoft][Драйвер ODBC Microsoft Access]

А почему не Microsoft Jet4.0 OLE DB Provider?


Dyusha   (2005-02-12 09:35:00) [8]

Изменил запрос следующим образом
Select * from REESTR_SPEC where GR="Образование"
теперь появляется сообщение
[Microsoft][Драйвер ODBC Microsoft Access] Слишком мало параметров. Требуется 1.


Dyusha   (2005-02-12 09:25:00) [9]

Спасибо буду пробовать....:-)


Киря   (2005-02-12 09:17:00) [10]

Попробуй изменить имя поля Group на gr, например.
Просто в языке  SQL есть ключевое слово GROUP BY.


Наверх

Титульная страница Поиск, карта сайта Написать письмо