• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Подсчёт Суммы По Полю Без Sql

  • Автор темы ZMihail
  • Дата начала
Z

ZMihail

Есть две таблицы (ClientDataSet). Первая, назовём её (FIOT) с первичным ключом (ID) и тектовым
полем (Fio)- где записываются фамилии. Вторая, назавём её (SUMT) c ключевым полем (FIOID), куда записываются
числовые данные из поля (ID) таблицы (FIO), второе числовое поле (SUM), где находятся суммы по кождой фамилии
из первой таблицы. Каждая фамилия имеет много строк из таблицы (SUMT). Нужно посчитать суммы по каждой
фамилии и вывести этот результат в ListBox. Запросы в этих таблицах не работают.

Добавлено: procedure TForm1.Button7Click(Sender: TObject);
Var summ: integer;
begin
t1.Filter:= 'FIOID='+ fiot.FieldByName('ID').AsString;
t1.Filtered:=true;
summ:=0;

while not t1.Eof do
begin
t1.Next;
while not fiot.Eof do
Begin
summ:=summ+ t1.FieldByName('sob').asinteger;
ListBox1.Items.Add(fiot.FieldByName('Fio').AsString+ ': '+ IntToStr(summ));
fiot.Next;
end;
end;
end;
 
S

sinkopa

Есть две таблицы (ClientDataSet). Первая, назовём её (FIOT) с первичным ключом (ID) и тектовым
полем (Fio)- где записываются фамилии. Вторая, назавём её (SUMT) c ключевым полем (FIOID), куда записываются
числовые данные из поля (ID) таблицы (FIO), второе числовое поле (SUM), где находятся суммы по кождой фамилии
из первой таблицы. Каждая фамилия имеет много строк из таблицы (SUMT). Нужно посчитать суммы по каждой
фамилии и вывести этот результат в ListBox. Запросы в этих таблицах не работают.
Честно говоря... не совсем я понял как у Вас там всё организовано...
Возможно Вы имели в виду вот это?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
summ: integer;
begin
fiot.First;
while not fiot.Eof do
begin
t1.Filtered := False;
t1.Filter:= 'FIOID='+ fiot.FieldByName('ID').AsString;
t1.Filtered := true;
t1.First;

summ:= 0;
while not t1.Eof do
begin
summ:=summ + t1.FieldByName('sob').asinteger;
t1.Next;
end;

ListBox1.Items.Add(fiot.FieldByName('Fio').AsString+ ': '+ IntToStr(summ));
fiot.Next;
end;
end;
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!