Вниз
Скачать: 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.024 c
14-1130868063
Bogdan1024
2005-11-01 21:01
2005.11.27
Помогите собрать комп!!!


6-1123746571
slotti
2005-08-11 11:49
2005.11.27
Скачивание файла с интернета


14-1131354766
DiamondShark
2005-11-07 12:12
2005.11.27
За природу -- борись!


4-1127564222
jksgfv
2005-09-24 16:17
2005.11.27
Размотка стека при исключении


14-1131121160
psa247
2005-11-04 19:19
2005.11.27
Замена TaskManager




   Наверх