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

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

Запрос Access не работает в delphi [D7, XP]


Wano ©   (2005-11-10 10:35:00) 

table1:
location | phone_code
Moscow | 7095
Kurgan | 73522

Запрос, созданный в access:

SELECT TOP 1 location, phone_code
FROM table1
WHERE '73522555555' like phone_code & '*'
ORDER BY phone_code DESC;

В access работает, выдает 'Kurgan'.

При переносе запроса в delphi - ошибка синтаксиса. Заменял & на && - не помогло. Понимаю, что глюк в '*', т.к. в тексте ошибки все, что следует за звездочкой не показывается. Как победить?


InnOk   (2005-11-10 15:50:00) [1]

>Для акцеса '73522555555*'
именно. для самого акцесса. F если через дельфи , то
> WHERE phone_code like '73522555555%'


Wano   (2005-11-10 12:36:00) [2]

Решил задачу сам. Из дельфи вызываю access'овский запрос с параметром.
Пусть имя этого запроса в access'е - sel1.

sel1:
SELECT TOP 1 location, phone_code
FROM table1
WHERE fnum like phone_code & '*'
ORDER BY phone_code DESC;

Из delphi:
ADOQuery1.SQL.Text:='EXECUTE sel1 73522555555';

Работает.


msguns   (2005-11-10 12:08:00) [3]

>Плохиш ©   (10.11.05 10:45) [1]
>WHERE phone_code like '73522555555%'

Для акцеса '73522555555 *'


Плохиш   (2005-11-10 11:51:00) [4]


> Повторюсь, приведенный запрос нормально отрабатывается в
> самом Access.

Напиши подобную функцию на делфи. Это внутренняя обработка в программеAccess и никакого отношения к SQL не имеет.


Wano   (2005-11-10 11:47:00) [5]

Прошу прощения, недоформулировал вопрос. Входные данные заключены в кавычки, т.е. в моем случае это '73522555555'. Нужно найти в базе, к какому городу (location) этот номер телефона относится. Правильный ответ = '73522 | Kurgan'. Повторюсь, приведенный запрос нормально отрабатывается в самом Access. А в delphi ругается.

Для более конкретного понимания:

table1:
location | phone_code
Kurgan city | 73522 (город Курган)
Kurgan region | 7352 (курганская область)
...

Т.о. при параметре 73522555555 должно выпасть Kurgan city | 73522
а при 73525345453 - Kurgan region | 7352


Плохиш   (2005-11-10 10:46:00) [6]


> Плохиш ©   (10.11.05 10:45) [1]

WHERE phone_code like '735%'


Плохиш   (2005-11-10 10:45:00) [7]

WHERE '73522555555' like phone_code & '*'

WHERE phone_code like '73522555555%'


Наверх

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