Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.28;
Скачать: CL | DM;

Вниз

Ошибка при выполнении запроса SQL   Найти похожие ветки 

 
pushkin42 ©   (2008-08-19 13:57) [0]

Есть запрос...

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. Где могут быть грабли? :(


 
pushkin42 ©   (2008-08-19 13:58) [1]

Поправочка: строка 4:  WHERE ((_USLOVIE_) AND (FS...

(левую скобочку забыл. все равно не работает)


 
Sergey13 ©   (2008-08-19 14:08) [2]

> [0] pushkin42 ©   (19.08.08 13:57)

Блин, неужели трудно отформатировать, а?
Почему таблицы в кавычках?

> При _USLOVIE_ равном "ORGID>0"
> "CATID"=382

Давай реальные запросы или разберись со своими кавычками.


 
pushkin42 ©   (2008-08-19 14:23) [3]

[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";


 
pushkin42 ©   (2008-08-19 14:24) [4]

млин

запрос который НЕ работает:

 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";


 
Sergey13 ©   (2008-08-19 14:45) [5]

> [4] pushkin42 ©   (19.08.08 14:24)

Ну и где тут твои "CATID"=382?
зачем кавычки у имен таблиц? Зачем скобки? Работает ли запрос где-нибудь типа ИБЭксперта?
AV выдает программа, а не запрос, кстати. А это отладчиком надо проверять.


 
Vlad Oshin ©   (2008-08-19 15:50) [6]

проверте расстояния от слов до символа _"_ , чтоб пробелов хватало


 
pushkin42 ©   (2008-08-19 15:54) [7]

Вышеуказанную проблему решил. Однако, теперь данный запрос, отрабатывая, выдает 113 записей из таблицы (в которой 185), хотя ни в одной из записей ORGLIST.RGNID не может быть меньше или равен нулю. Опять ничего не пойму :(


 
Sergey13 ©   (2008-08-19 16:36) [8]

> [7] pushkin42 ©   (19.08.08 15:54)

> Опять ничего не пойму :(

При твоем написании запроса это и не мудрено. 8-)
Переписывай заново, последовательно добавляя таблицы, поля и условия. Лично я так отлаживаю.


 
MsGuns ©   (2008-08-19 16:36) [9]

Неужели для того, чтобы отлаживать запросы к серверу, непременно нужен форум ?



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

Текущий архив: 2008.09.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
2-1218991194
Rembo
2008-08-17 20:39
2008.09.28
Проблема с указателями


15-1218053693
Franciscosuarez
2008-08-07 00:14
2008.09.28
Красивая задача...может и встречалась тут)))не знаю


2-1217765489
demon
2008-08-03 16:11
2008.09.28
Второе окно на API


3-1206952402
harisma
2008-03-31 12:33
2008.09.28
Использование метода Locate у TClientDataSet


2-1218740621
Alex_Storm
2008-08-14 23:03
2008.09.28
Скрыть вкладку