Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];

Вниз

Пустые записи   Найти похожие ветки 

 
bolat_   (2005-04-26 14:23) [0]

Здраствуйте мастера, пишу такой код

var
ab:variant
.....
query1.First;
ab:=0;
repeat
ab:=ab+query1.FieldByName("summa").Value;
until query1.Eof;
edit2.Text:=floattostr(ab);

Если с кода не понятно объяню словами я должен вывести сумму всех значений поле summa в edit1, в принципе этот код работает, но если попадает пустая запись, прога пишет Variant type conservation (помоему так), помогите пожалуйста разобратся.

Заранее благодарен, с уважением Болат


 
Johnmen ©   (2005-04-26 14:30) [1]

1. Этот "код" не может правильно работать, т.к. нету Next
2. Зачем какой-то вариант, если работаем с Float ??? См. AsFloat


 
Desdechado ©   (2005-04-26 15:44) [2]

а вообще я бы использовал
select sum(summa) from tablica
where summa is not null


 
Johnmen ©   (2005-04-26 15:48) [3]

>Desdechado ©   (26.04.05 15:44) [2]
>where summa is not null

А это зачем? /просто интересно/


 
Desdechado ©   (2005-04-26 15:57) [4]

а шоб було :)
все агрегирующие функции (кроме count) игнорируют null-значения, но так нагляднее, хотя с точки зрения быстродействия полное Г


 
Johnmen ©   (2005-04-26 16:07) [5]

:)))
>все агрегирующие функции (кроме count) игнорируют null-значения,

Т.е. и мы докучи проигнорируем...:)


 
bolat_   (2005-04-26 16:14) [6]

число записей не так уж и много так что этот вариант мне подходит
большое спасибо Johnmen, desdechado

p.s. Модераторам помоему Ваш сервер немного глючит или наш инетрнет, при попытке создать, добавить сообщение выходит ошибка 500,


 
Sergey13 ©   (2005-04-26 16:18) [7]

2[6] bolat_   (26.04.05 16:14)
>p.s. Модераторам помоему Ваш сервер немного глючит или наш инетрнет, при попытке создать, добавить сообщение выходит ошибка 500

А мужики то не знают! (с) Пиво Толстяк.
8-)


 
Desdechado ©   (2005-04-26 17:05) [8]

2 bolat_
Еще один момент - цикл repeat until подразумевает, что у тебя будет хоть одна строка в наборе данных. В случае, когда он будет пуст, вылезет ошибка.



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

Форум: "Базы";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.014 c
1-1116589355
Tuborg
2005-05-20 15:42
2005.06.06
TStringGrid+TSparseArray


14-1116587882
Zhekson
2005-05-20 15:18
2005.06.06
В чём смысл жизни????


1-1116600766
juice
2005-05-20 18:52
2005.06.06
Имя экземпляра класса


1-1116587419
Demonix
2005-05-20 15:10
2005.06.06
Доступ с Active Directory из Delphi


3-1114521903
RodmanDes
2005-04-26 17:25
2005.06.06
ADO





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский