Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с запросом в цикле, Помогите неопытному 
:(
    Опции темы
TVA
Дата 7.8.2005, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 17.5.2005

Репутация: нет
Всего: нет



Вроде тут все просто а не получается smile

Код

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.

Стыдно наверно задавать такие вопросы но поверьте с циклами вообще еще не разу не приходилось работать smile

Это сообщение отредактировал(а) TVA - 7.8.2005, 23:15
PM MAIL   Вверх
chaos
Дата 8.8.2005, 07:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 1
Всего: 44



я бы на твоем месте сделал так:
Код

WorkQuery->SQL->Text = "SELECT * FROM 'mb.db' WHERE KOD_TOVARA = :kod");
WorkQuery->Prepare();

for (i=Min_Value; i<Max_Value; i++) 
{
    WorkQuery->Parameters->ParamByName("kod")->Value = i;

    WorkQuery->Active=True;

    double Cena=WorkQuery->FieldByName("CENA")->AsFloat;
    AnsiString Mg=WorkQuery->FieldByName("SKIDKA")->AsString;  
    //........
    WorkQuery->Active=False;
    //........
}


PM WWW   Вверх
TVA
Дата 8.8.2005, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 17.5.2005

Репутация: нет
Всего: нет



Спасибо, сегодня попробую, будем надеятся что усе получится smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1063 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.