Вроде тут все просто а не получается
| Код | void __fastcall TForm1::Button1Click(TObject *Sender) { WorkQuery->Active=False; WorkQuery->SQL->Clear(); WorkQuery->SQL->Add("SELECT max(TOVAR_KOD), min(TOVAR_KOD) FROM 'mb.db'"); WorkQuery->ExecSQL();
Max_Value=WorkQuery->FieldByName("MAX OF TOVAR_KOD")->AsInteger; Min_Value=WorkQuery->FieldByName("MIN OF TOVAR_KOD")->AsInteger;
ProgressBar1->Min=Min_Value; ProgressBar1->Max=Max_Value; ProgressBar1->Step=1;
for (i=Min_Value; i<Max_Value; i++) {
WorkQuery->Active=False; WorkQuery->SQL->Clear(); WorkQuery->SQL->Add("SELECT * FROM 'mb.db' WHERE KOD_TOVARA LIKE '"+i+"' "); WorkQuery->Active=True;
double Cena=WorkQuery->FieldByName("CENA")->AsFloat; AnsiString Mg=WorkQuery->FieldByName("SKIDKA")->AsString;
WorkQuery->Active=False; WorkQuery->SQL->Clear(); WorkQuery->SQL->Add("SELECT * FROM 'mbd.db' WHERE KOEF_SK LIKE '"+Mg+"' "); WorkQuery->Active=True;
double Koeficent=WorkQuery->FieldByName("KOEF_SK")->AsFloat;
double Zakupka=Cena*Koeficent;
WorkQuery->Active=False; WorkQuery->SQL->Clear(); WorkQuery->SQL->Add("UPDATE 'mb.db' SET NEW_CENA = '"+Zakupka+"' WHERE TOVAR_KOD = '"+i+"' "); WorkQuery->ExecSQL();
ProgressBar1->StepIt(); }
|
Доходит до строки
| Код | WorkQuery->SQL->Add("SELECT * FROM 'mb.db' WHERE KOD_TOVARA LIKE '"+i+"' ");
|
И пишет [C++ Error] main.cpp(64): E2085 Invalid pointer addition
Max_Value, Min_Value, i - глобальные переменные integer.
Стыдно наверно задавать такие вопросы но поверьте с циклами вообще еще не разу не приходилось работать |