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

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

Вернуть результат из вычисляемого поля запроса [D7, IB6.x, FireBird]


Страницы:   1 2

Shizuku ©   (2005-01-17 13:48:00) 

Не удаётсявернуть результат (значение поля sum_result) в переменную DELPHI из следующего запроса:

SELECT
 sum(ANSWER.MARK) AS sum_result
FROM
 RESULT
 INNER JOIN ANSWER ON (RESULT.REPLY_ID = ANSWER.REPLY_ID)
WHERE
 (RESULT.USER_ID = :USER_ID) AND
 (RESULT.CREATED = 'NOW')


Запрос тестировалсяв EMS Interbase Manager - Query Builder, где прекрасно возращал требуемый результат.

Для возвратазначения используется код:

if (vartype(dm.IBQuery6.FieldValues['SUM_RESULT']) and
varTypeMask =varInteger) then
showmessage('Тест пройден. Сумма балов :'+string  <== Error %.%(dm.IBQuery6.FieldValues['sum_result']))
else
showmessage('Тест пройден. Сумма балов : 0');
end;

Если убрать условие- обработчик, то ошибка:

Project PRIPO.exe raised exception class EVariantTypeCastError
with message 'Could not convert variant of type (Null) into type (String)....'

В отладке:

(vartype(dm.IBQuery6.FieldValues['SUM_RESULT']) and
varTypeMask =varInteger) = inacessible value

dm.IBQuery6.FieldValues['SUM_RESULT']= null (врёт)

Испытывался итакой код:

showmessage('Тест пройден. Сумма балов :'+
dm.IBQuery6.FieldByName('sum_result').AsString)


Результат - пустая строка


Danilka   (2005-01-17 14:06:00) [21]

приведи, плиз, текст процедуры, которая все это хозяйство делает.
заполняет параметры, выполняет запрос, и т.д.


Danilka   (2005-01-17 14:04:00) [22]


> dm.IBQuery6.FieldValues['SUM_RESULT']= null (врёт)

Зачем?
я имею ввиду - зачем ему врать-то? :))


Страницы:   1 2

Наверх

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