![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
отобразить результат запроса [D6, Paradox]
gaval © (2005-06-22 13:03:00)Такой вопрос есть запрос select sum(field) from table как результат отобразить скажем в Label1.Caption
evvcom (2005-06-22 15:43:00) [1]
> q.Active:=true;
> q.Close;
Тоже интересное решение. Работать-то будет (если, конечно, учесть [14] и [20]), но мое имхо или используй Active:=True;/Active:=False; или Open/Close, а то глаза режет...
gaval (2005-06-22 15:38:00) [2]заработало q.Close; (всему виной)
Sergey13 (2005-06-22 15:35:00) [3]2[12] gaval (22.06.05 14:50)
Не дурно бы посмотреть результаты работы раскоментированой строчки
//ShowMessage(text);
и структуру таблицы.
И, повторюсь, не надо закрывать кверик перед чтением результата запроса.
gaval (2005-06-22 15:34:00) [4]FileName = table.TableName
Field = 'field'
q = Query
Val (2005-06-22 15:32:00) [5]gaval сначала посмотри [14] Sergey13 © (22.06.05 14:53)
Rule (2005-06-22 15:30:00) [6]gaval (22.06.05 15:24) [16]
смотри
Rule © (22.06.05 15:01) [15]
gaval (2005-06-22 15:24:00) [7]Это БДЕ запросы через квери а просмотр и обработка в табле
Rule (2005-06-22 15:01:00) [8]gaval (22.06.05 14:50) [12]
а аргументы функции какие передаешь ?
Sergey13 (2005-06-22 14:53:00) [9]2[12] gaval (22.06.05 14:50)
q.Close;
Не рановато вызываешь?
Rule (2005-06-22 14:51:00) [10]gaval (22.06.05 14:46) [7]
очень интересн, помоему проблемма прячется ещё глубже ... аразве может поле называться field, а таблица тєйбл ? єто раз, а во вторых квери что у тебя есть такое ? это БДЕ или что ?
gaval (2005-06-22 14:50:00) [11]пытаюсь делать так - выдает ошибку field f not found
function TDM.SumField(FileName:String;Field:String;q:TQuery):String;
var
text:String;
begin
text:='select sum('+Field+') as f from '''+FileName+'''';
//ShowMessage(text);
q.SQL.Clear;
q.sql.Add(text);
q.Active:=true;
q.Close;
result:= q.FieldByName('f').AsString;
end;
gaval (2005-06-22 14:50:00) [12]пытаюсь делать так - выдает ошибку field f not found
function TDM.SumField(FileName:String;Field:String;q:TQuery):String;
var
text:String;
begin
text:='select sum('+Field+') as f from '''+FileName+'''';
//ShowMessage(text);
q.SQL.Clear;
q.sql.Add(text);
q.Active:=true;
q.Close;
result:= q.FieldByName('f').AsString;
end;
evvcom (2005-06-22 14:50:00) [13]судя по sum(field) as fэто поле называется просто "f"
Sergey13 (2005-06-22 14:50:00) [14]2[7] gaval (22.06.05 14:46)
А это рабочий запрос? Прям с field и table?
Digitman (2005-06-22 14:49:00) [15]
> пытаюсь реалезовать в afterOpen
если приспичило, можно и в afterOpen
а если без выкрутасов с afterOpen'ами, то просто как 2х2=4=True :
query.Open; //открыли НД
Label1.Caption := IntToStr(query.Fields[0].AsInteger); //вот ЭТО (*) можно всандалить и в обработчик afterOpen'а, если тебе так удобней
если неуверен, что НД будет не пуст, можно сделать перед (*) проверку а-ля
if query.RecordCount = 0 then ..
gaval (2005-06-22 14:46:00) [16]есть кое - что так у меня постоянно ошибку выдает что поле field не найдено
пробовал также query.sql.Add('select sum(field)as f from table')
Johnmen (2005-06-22 14:43:00) [17]По форуму не пробовал искать ?
gaval (2005-06-22 14:42:00) [18]Запрос написан в query.sql.Add('select sum(field) from table')
пытаюсь реалезовать в afterOpen
Johnmen (2005-06-22 14:41:00) [19]Я бы сказал, вопрос стоит ещё глубже - а есть ли запрос :)
Sergey13 (2005-06-22 14:38:00) [20]2[2] Rule © (22.06.05 14:34)
Тут вопрос стоит - выполняется ли он вообще. 8-)