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

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

Почему из под Дельфи может не выполнятся SQL запрос? [D5, D6, IB6.x]


Boroda Oleg ©   (2002-07-17 10:44:00) 

Доброго времени суток.

Почему при выполнении SQL запроса из под Дельфи не возвращается ни одной записи (RecordCount, вообще становится -2)? А при выполнении его же из под SQL Explorer все приходит нормально? Нестандартная ситуация там в вызове одной процедуры, если я ее вытираю, запрос работает нормально и под Дельфей, вот только результат получить надо бы именно с этой процедурой. Ниже, на всякий случай, приведу текст SQL запроса.

SELECT IV.ID_INVOICE, IV.DATEINVOICE, IV.SUMMINVOICE, IV.NUMBERINVOICE,IC.ID_INVOICECOLUMN, IC.QUANTITY, IC.COUNTINVOICE, IC.NDS, IC.NDSCOUNT,IC.ID_COLUMN,
вызов этой доморощенной процедуры
(SELECT NAME FROM GETGOOD(IC.ID_COLUMN)) NAMEGOOD,
эта процедура нормально работает в обоих случаях
(SELECT NAME FROM GETCLIENTANDCITY(IV.CUSTOMER)) NAME ,
(SELECT PRODUCER FROM SERIALGOOD WHERE ID_SERIAL = GT.ID_SOURCE) PROD,
(SELECT UNN FROM CLIENT WHERE IV.CUSTOMER = ID_CLIENT) UNN
FROM INVOICE IV, INVOICECOLUMN IC, GOODTREE GT
WHERE (IV.DATEUPL >= "11.07.2002")
AND (IV.DATEUPL <= "16.07.2002")
AND (IC.ID_OWNER = IV.ID_INVOICE)
AND (IC.ID_COLUMN = GT.ID_GOODTREE)
AND (IV.NUMBERINVOICE <> "deleted")
AND (IV.NUMBERINVOICE <> "correct")
AND ((IV.CAR = 12) OR (IV.CAR = 0))


Boroda Oleg   (2002-07-18 16:04:00) [1]

Как не странно, после того, как прописал while not EOF do вместо RecordCount - все заработало.
В принципе, до этого у меня RecordCount всегда работал без сбоев - первый раз с такой ситуацией столкнулся. Наиблее удивительно, что если я убиваю строчку с вызовом процедуры GETGOOD, то работает все в обоих ситуациях. М-да, вопрос остался невыясненным...

Пользую я IB 6.0 Open Source, а в качестве компонента - TQuery. Раньше юзал InfoPower, но теперь потихоньку от них начинаю уходить - слишком много глюков из-под них валиться.




Johnmen   (2002-07-17 15:31:00) [2]

Дельфевые компоненты доступа к БД и ее объектам. Какие ?
И какой тип СУБД ?


AlexSam   (2002-07-17 15:31:00) [3]

Олег, я замечу, что для SQL DataSet.RecordCount не работает. Нужно пользоваться while not EOF do ...
А GETGOOD, GETCLIENTANDCITY - это твои процедуры?
Скрипты их ...?


Boroda Oleg   (2002-07-17 15:05:00) [4]

Нет, даты тут не при чем, ведь из-под SQL Explorer запрос работает. Да и из под Дельфи тоже все проходит, если я ремлю процедуру.
Запускаю я его из Query, опять же, если процедура заремлена, запрос обрабатывается.
А что такое компоненты доступа?


kaif   (2002-07-17 12:12:00) [5]

Напиши даты в формате типа 2002-07-11. Скорее всего, дело, действительно, в формате даты.


relict   (2002-07-17 11:43:00) [6]

а может дата не в том формате
11.07.2002 , 11/07/2002 , 07/11/2002


Johnmen   (2002-07-17 11:19:00) [7]

Компоненты доступа ?


Alexandr   (2002-07-17 11:13:00) [8]

а как ты его запускаешь?


Наверх

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