Текущий архив: 2005.07.31;
Скачать: CL | DM;
Внизотобразить результат запроса Найти похожие ветки
← →
gaval (2005-06-22 13:03) [0]Такой вопрос есть запрос select sum(field) from table как результат отобразить скажем в Label1.Caption
← →
Digitman © (2005-06-22 14:17) [1]
> есть запрос
мало ли где он "есть" ..
он в общем случае может и вообще "не есть" ..
если речь идет про классы-наследники TDataSet - это одно,
а если это просто на заборе намалевано, то совсем другое
← →
Rule © (2005-06-22 14:34) [2]gaval (22.06.05 13:03)
а где этот запрос выполняется ?
← →
Sergey13 © (2005-06-22 14:38) [3]2[2] Rule © (22.06.05 14:34)
Тут вопрос стоит - выполняется ли он вообще. 8-)
← →
Johnmen © (2005-06-22 14:41) [4]Я бы сказал, вопрос стоит ещё глубже - а есть ли запрос :)
← →
gaval (2005-06-22 14:42) [5]Запрос написан в query.sql.Add("select sum(field) from table")
пытаюсь реалезовать в afterOpen
← →
Johnmen © (2005-06-22 14:43) [6]По форуму не пробовал искать ?
← →
gaval (2005-06-22 14:46) [7]есть кое - что так у меня постоянно ошибку выдает что поле field не найдено
пробовал также query.sql.Add("select sum(field)as f from table")
← →
Digitman © (2005-06-22 14:49) [8]
> пытаюсь реалезовать в afterOpen
если приспичило, можно и в afterOpen
а если без выкрутасов с afterOpen"ами, то просто как 2х2=4=True :
query.Open; //открыли НД
Label1.Caption := IntToStr(query.Fields[0].AsInteger); //вот ЭТО (*) можно всандалить и в обработчик afterOpen"а, если тебе так удобней
если неуверен, что НД будет не пуст, можно сделать перед (*) проверку а-ля
if query.RecordCount = 0 then ..
← →
Sergey13 © (2005-06-22 14:50) [9]2[7] gaval (22.06.05 14:46)
А это рабочий запрос? Прям с field и table?
← →
evvcom © (2005-06-22 14:50) [10]судя по sum(field) as f это поле называется просто "f"
← →
gaval (2005-06-22 14:50) [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) [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;
← →
Rule © (2005-06-22 14:51) [13]gaval (22.06.05 14:46) [7]
очень интересн, помоему проблемма прячется ещё глубже ... аразве может поле называться field, а таблица тєйбл ? єто раз, а во вторых квери что у тебя есть такое ? это БДЕ или что ?
← →
Sergey13 © (2005-06-22 14:53) [14]2[12] gaval (22.06.05 14:50)
q.Close;
Не рановато вызываешь?
← →
Rule © (2005-06-22 15:01) [15]gaval (22.06.05 14:50) [12]
а аргументы функции какие передаешь ?
← →
gaval (2005-06-22 15:24) [16]Это БДЕ запросы через квери а просмотр и обработка в табле
← →
Rule © (2005-06-22 15:30) [17]gaval (22.06.05 15:24) [16]
смотри
Rule © (22.06.05 15:01) [15]
← →
Val © (2005-06-22 15:32) [18]gaval сначала посмотри [14] Sergey13 © (22.06.05 14:53)
← →
gaval (2005-06-22 15:34) [19]FileName = table.TableName
Field = "field"
q = Query
← →
Sergey13 © (2005-06-22 15:35) [20]2[12] gaval (22.06.05 14:50)
Не дурно бы посмотреть результаты работы раскоментированой строчки
//ShowMessage(text);
и структуру таблицы.
И, повторюсь, не надо закрывать кверик перед чтением результата запроса.
← →
gaval (2005-06-22 15:38) [21]заработало q.Close; (всему виной)
← →
evvcom © (2005-06-22 15:43) [22]
> q.Active:=true;
> q.Close;
Тоже интересное решение. Работать-то будет (если, конечно, учесть [14] и [20]), но мое имхо или используй Active:=True;/Active:=False; или Open/Close, а то глаза режет...
Страницы: 1 вся ветка
Текущий архив: 2005.07.31;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.04 c