Вниз
Скачать: CL | DM;

Запрос Access не работает в delphi   Найти похожие ветки 

← →
Wano ©   (2005-11-10 10:35) [0]

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 - ошибка синтаксиса. Заменял & на && - не помогло. Понимаю, что глюк в "*", т.к. в тексте ошибки все, что следует за звездочкой не показывается. Как победить?


← →
Плохиш ©   (2005-11-10 10:45) [1]

WHERE "73522555555" like phone_code & "*"

WHERE phone_code like "73522555555%"


← →
Плохиш ©   (2005-11-10 10:46) [2]


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

WHERE phone_code like "735%"


← →
Wano ©   (2005-11-10 11:47) [3]

Прошу прощения, недоформулировал вопрос. Входные данные заключены в кавычки, т.е. в моем случае это "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 11:51) [4]


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

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


← →
msguns ©   (2005-11-10 12:08) [5]

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

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


← →
Wano ©   (2005-11-10 12:36) [6]

Решил задачу сам. Из дельфи вызываю 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";

Работает.


← →
InnOk ©   (2005-11-10 15:50) [7]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.039 c
2-1131451657
San1
2005-11-08 15:07
2005.11.27
Элементарный код, а не работает. Подскажите в чем дело.


3-1129387970
Павел
2005-10-15 18:52
2005.11.27
Ошибка при использовании UDF


2-1131443009
pathfinder
2005-11-08 12:43
2005.11.27
Удаление записей в StrinList.


14-1131030325
Kerk
2005-11-03 18:05
2005.11.27
Ниразу такого не видел..


11-1107971012
Лёля
2005-02-09 20:43
2005.11.27
Пример для KOLWord




   Наверх