![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос на нахождение максимума при условии [D6]
Шурик Ш © (2002-10-11 14:02:00)Query1.SQL.Clear;
Query1.SQL.Add("select max(field1) from table1");
Query1.SQL.Add("where field2 = 1");
Query1.Open;
Такой запрос должен вернуть макс. значение при условии. Дело в том, что под условие может не попасть ни одной строки. Я ожидал, что в этом случае Query1.RecordCount будет равно 0. Однако, Query1.RecordCount всегда равен 1. Как распознать ситуацию, когда, действительно, максимум не обнаружен, т.к. ни одной строки не выбрано?
Шурик Ш (2002-10-11 14:49:00) [1]Виноват! Это я напутал! Просто поле в БД было стринговое.
Спасибо за помощь!
Val (2002-10-11 14:25:00) [2]>Шурик Ш ©
чекбоксы для бд зря что-ли ставят??
..Query1.RecordCount всегда равен 1..
не верное утверждение.
..Как распознать ситуацию..
следуя запросу Johnmen © :
if Query1.FieldByName("maxvalue").IsNull then..
Johnmen (2002-10-11 14:12:00) [3]...select max(field1) as maxvalue from table1"...
Query1.FieldByName("maxvalue").AsInteger
Шурик Ш (2002-10-11 14:06:00) [4]При "ненахождении максимума" вылетает ошибка на строке
I := Query1.Fields[0].AsInteger