![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при выполнении запроса SQL [D7, IB6.x]
pushkin42 © (2008-08-19 13:57:00)Есть запрос...
SELECT ORGLIST.FSID, ORGLIST.ID, ORGLIST.ORGNAME, ORGLIST.RGNID, '+
'CATEGORIES.NAME as CAT, ORGLIST.GPN, '+
'FS.SHORT, REGION.NAME as RGN, CITY.CITYNAME as CITYNAME FROM "ORGLIST", "FS", '+
'"REGION", "CITY", "CATEGORIES" WHERE (_USLOVIE_) AND (FS.ID=ORGLIST.FSID) AND (REGION.ID=ORGLIST.RGNID) '+
'AND (CITY.ID=ORGLIST.CITYID) AND (CATEGORIES.ID=ORGLIST.CATID)) ORDER BY '+
'ORGLIST.ORGNAME ASC, RGN ASC, CAT ASC'
При _USLOVIE_ равном "ORGID>0" запрос выполняется корректно. Если же в скобках где условие написать "CATID"=382, то запрос не выполняется, программа вываливается в Access Violation. Где могут быть грабли? :(
Sergey13 (2008-08-19 16:36:00) [1]> [7] pushkin42 © (19.08.08 15:54)
> Опять ничего не пойму :(
При твоем написании запроса это и не мудрено. 8-)
Переписывай заново, последовательно добавляя таблицы, поля и условия. Лично я так отлаживаю.
MsGuns (2008-08-19 16:36:00) [2]Неужели для того, чтобы отлаживать запросы к серверу, непременно нужен форум ?
pushkin42 (2008-08-19 15:54:00) [3]Вышеуказанную проблему решил. Однако, теперь данный запрос, отрабатывая, выдает 113 записей из таблицы (в которой 185), хотя ни в одной из записей ORGLIST.RGNID не может быть меньше или равен нулю. Опять ничего не пойму :(
Vlad Oshin (2008-08-19 15:50:00) [4]проверте расстояния от слов до символа _'_ , чтоб пробелов хватало
Sergey13 (2008-08-19 14:45:00) [5]> [4] pushkin42 © (19.08.08 14:24)
Ну и где тут твои "CATID"=382?
зачем кавычки у имен таблиц? Зачем скобки? Работает ли запрос где-нибудь типа ИБЭксперта?
AV выдает программа, а не запрос, кстати. А это отладчиком надо проверять.
pushkin42 (2008-08-19 14:24:00) [6]млин
запрос который НЕработает:
Q := 'SELECT ORGLIST.FSID, ORGLIST.ID, ORGLIST.ORGNAME, ORGLIST.RGNID, '+
'CATEGORIES.NAME as CAT, ORGLIST.GPN, '+
'FS.SHORT, REGION.NAME as RGN, CITY.CITYNAME as CITYNAME FROM "ORGLIST", "FS", '+
'"REGION", "CITY", "CATEGORIES" WHERE ((ORGLIST.RGNID>0) AND (FS.ID=ORGLIST.FSID) AND (REGION.ID=ORGLIST.RGNID) '+
'AND (CITY.ID=ORGLIST.CITYID) AND (CATEGORIES.ID=ORGLIST.CATID)) ORDER BY '+
'ORGLIST.ORGNAME ASC, RGN ASC, CAT ASC';
pushkin42 (2008-08-19 14:23:00) [7][b]Запрос, который работает:[/b]
Q := 'SELECT ORGLIST.FSID, ORGLIST.ID, ORGLIST.ORGNAME, ORGLIST.RGNID, '+
'CATEGORIES.NAME as CAT, ORGLIST.GPN, '+
'FS.SHORT, REGION.NAME as RGN, CITY.CITYNAME as CITYNAME FROM "ORGLIST", "FS", '+
'"REGION", "CITY", "CATEGORIES" WHERE ((ORGID>0) AND (FS.ID=ORGLIST.FSID) AND (REGION.ID=ORGLIST.RGNID) '+
'AND (CITY.ID=ORGLIST.CITYID) AND (CATEGORIES.ID=ORGLIST.CATID)) ORDER BY '+
'ORGLIST.ORGNAME ASC, RGN ASC, CAT ASC';
[b]Запрос, который НЕ работает[/b]
Запрос, который работает:
Q := 'SELECT ORGLIST.FSID, ORGLIST.ID, ORGLIST.ORGNAME, ORGLIST.RGNID, '+
'CATEGORIES.NAME as CAT, ORGLIST.GPN, '+
'FS.SHORT, REGION.NAME as RGN, CITY.CITYNAME as CITYNAME FROM "ORGLIST", "FS", '+
'"REGION", "CITY", "CATEGORIES" WHERE ((ORGID>0) AND (FS.ID=ORGLIST.FSID) AND (REGION.ID=ORGLIST.RGNID) '+
'AND (CITY.ID=ORGLIST.CITYID) AND (CATEGORIES.ID=ORGLIST.CATID)) ORDER BY '+
'ORGLIST.ORGNAME ASC, RGN ASC, CAT ASC';
Sergey13 (2008-08-19 14:08:00) [8]> [0] pushkin42 © (19.08.08 13:57)
Блин, неужели трудно отформатировать, а?
Почему таблицы в кавычках?
> При _USLOVIE_ равном "ORGID>0"
> "CATID"=382
Давай реальные запросы или разберись со своими кавычками.
pushkin42 (2008-08-19 13:58:00) [9]Поправочка: строка 4: WHERE ((_USLOVIE_) AND (FS...
(левую скобочку забыл. все равно не работает)