Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
148 / 35 / 6
Регистрация: 01.11.2013
Сообщений: 792
1

Условие в цикле

12.01.2014, 13:32. Показов 523. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В таблице ADOTable6 есть поля AAA, SSS, XXX.
Нужно пробежаться по таблице и в зависимости от значения поля AAA заполнить поле XXX.
s - значение поля SSS

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
var
//    i:integer;
    k1:real;
    k2:real;
    k3:real;
    s:real;
    p1:string;
    p2:string;
    p3:string;
begin
    k1:=Datamodule3.ADOTable9.Fields.Fields[2].AsFloat;
    k2:=Datamodule3.ADOTable9.Fields.Fields[3].AsFloat;
    k3:=Datamodule3.ADOTable9.Fields.Fields[4].AsFloat;
    s:=Datamodule3.ADOTable6.Fields.Fields[3].AsFloat;
    p1:=floatToStr(Round(k1*s));
    p2:=floatToStr(Round(k2*s));
    p3:=floatToStr(Round(k3*s));
 
    Datamodule3.ADOTable6.First;
 
    while not Datamodule3.ADOTable6.eof do
//    for i:=0 to Datamodule3.ADOTable6.RecordCount-1 do
    begin
    Datamodule3.ADOTable6.Edit;
 
    if Datamodule3.ADOTable6.Fields.FieldByName('AAA').AsString='11' then
    Datamodule3.ADOTable6.Fields.FieldByName('XXX').AsString:=p1;
    if Datamodule3.ADOTable6.Fields.FieldByName('AAA').AsString='22' then
    Datamodule3.ADOTable6.Fields.FieldByName('XXX').AsString:=p2;
    if Datamodule3.ADOTable6.Fields.FieldByName('AAA').AsString='33' then
    Datamodule3.ADOTable6.Fields.FieldByName('XXX').AsString:=p3;
 
    Datamodule3.ADOTable6.Next;
    end;
//    Datamodule3.ADOTable6.Post;
end;
Не работает.
Насколько я понял при выполнении цикла берется либо первое либо последнее значение 's' из ADOTable6 и расставляется в таблице согласно формуле, т.е. p1 - всегда одинаковые, p2 - всегда одинаковые, p3 - всегда одинаковые.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2014, 13:32
Ответы с готовыми решениями:

Условие в Delphi 2010, нужно сделать условие на TDBEDIT
Подскажите пожалуйста, у меня есть два эдита и одна кнопка, мне нужно сделать условие что при...

Условие в цикле
Добрый день! Помогите написать условие в цикле допустим у меня есть массив distance(0 to 7) ...

Условие в цикле
Здравствуйте. Почему в этом случае цикл выполняется девять раз: for(int year = 0; year < 10;...

Условие строки в цикле while
#include "stdafx.h" #include <iostream> #include <string> using namespace std; int main(){...

2
3586 / 2195 / 693
Регистрация: 29.05.2013
Сообщений: 9,375
12.01.2014, 14:17 2
А почему 35 строка вынесена из цикла? Без нее в БД никаких изменений не будет сохранятся.
0
148 / 35 / 6
Регистрация: 01.11.2013
Сообщений: 792
12.01.2014, 14:32  [ТС] 3
Цитата Сообщение от Пытливый Посмотреть сообщение
А почему 35 строка вынесена из цикла? Без нее в БД никаких изменений не будет сохранятся.
Что бы сохранять изменения, они должны быть правильными, а в настоящий момент цикл рабртает не правильно.
Или вы хотите вставить Post в 32 или в 34 строку?
0
12.01.2014, 14:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2014, 14:32
Помогаю со студенческими работами здесь

Не срабатывает условие в цикле while
Здравствуйте. Возникла следующая проблема: Есть вектора alph и tape, элементы которых вводит...

Выполняется ли условие в цикле
Учебная программа взята из книги Шилдта. Программа определяет простые числа до 9 включительно, а...

Составное условие в цикле while
Как задать составное условие в цикле while? Условием являются 3 неравенства: a>b+c, b>a+c, c>b+a. ...

Не выполняется условие в while цикле
Привет, пытаюсь протестировать код из книги, но у меня внезапно перестал правильно работать цикл. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru