Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Как выбрать в цикле содержимое поля


Автор: vino 14.2.2008, 13:44
Подскажите как мне в цикле сформировать список содержимого поля из столбца NAME_K,сформированный по запросу
Код

  for (i=0; i<ADOQuery1->RecordCount; i++)
       ...  ADOQuery1->FieldByName("NAME_K")->AsString


Никак не знаю ,где вставить i.Чтобы получился массив содержимого столбца NAME_K

Список названий столбцов формируется верно:

Код

  ...(i,M_Lsab->ADOQueryRas1->Fields->Fields[i]->DisplayLabel





Автор: Rodman 14.2.2008, 13:55
куда ты хочешь их записать?

Автор: vino 14.2.2008, 14:15
Я передаю для дальнейшей обработки значения столбца "name_k" в функцию Funct.
Код

  for (i=0; i<RecordCount; i++)
  Funct(i,ADOQuery1->Fields->FieldByName("NAME_K")->Value )


В итоге при такой разкладке (13 ЗАПИСЕЙ) ПЕРЕДАЮТСЯ  13 ЗАПИСЕЙ,НО название поля не меняется,т.е. все 13 записей содержат одно и то жн название поля.Мненадо,чтобв цикле передавалось и ФОРМИРОВАЛСЯ массив как в примере последнем-формируются названия столбцов.
Но мне надо содержимое столбца.

Автор: Rodman 14.2.2008, 14:20
Код

while (!ADOQuery1->EOF)
{
  Funct(i,ADOQuery1->Fields->FieldByName("NAME_K")->Value );
  ADOQuery1->Next();
}
Next двигается по записям
или по твоему 
Код

for (i=0; i<ADOQuery1->RecordCount; i++)
{
  Funct(i,ADOQuery1->Fields->FieldByName("NAME_K")->Value );
  ADOQuery1->Next();
}

Автор: vino 14.2.2008, 14:20
Нашел выход:
Код

ADOQuery1>Next();

Автор: vino 14.2.2008, 14:38
но КАК ЖЕ МНЕ СОСТАВИТЬ МАССИВ ЗНАЧЕНИЙ СОДЕРЖИМОГО ЄТОГО ПОЛЯ?

Автор: Rodman 14.2.2008, 14:41
ты можешь нормально объяснить че тебе надо! 
что за массив? 

Автор: vino 14.2.2008, 15:01
Предыдущее все делалось для того,чтобы отобразить все компании из зпроса Query1.Пользователь выбрав(по CheckBox) определенные из них или все открыжив,переходит  к дальнейшей обработке.
Так вот мне надо выловить все те,которые пользователь отметил.А для этого естественно в том цикле,что выше надо как-то занести эти наименования в массив.
Как мне выбрать отмеченные наименания из справочника?

Добавлено через 7 минут и 53 секунды
а теперь если можете подскажите как из перечисленных  названий выбрать отмеченные
Код

void  TRepK::ViborKomp( int k,String NamK, bool Visible)
 {
  Frm[k] = new TCheckBox(this);
  Frm[k]->Caption=NamK;
  Frm[k]->Parent=RepK;
  Frm[k]->Top=k * Razm;
  Frm[k]->Checked=Visible;
  Frm[k]->Left=50;
  Frm[k]->Width=100;


 }
 //------------------------------------------------------------------
    void  TRepK::ShowMe()
  {
  int i;
  for (i=0; iADOQuery1->RecordCount; i++)  {
  ViborKomp(i,ADOQuery1->Fields->FieldByName("NAME_K")->Value,M_Lsab->ADOQueryRas1->Fields->FieldByName("NAME_K")->Visible);
  Height=(ADOQuery1->RecordCount-1)*(Razm+6);
  ADOQuery1->Next();
  }
   for (int i=0; i<ADOQuery1->RecordCount; i++)
   {  ADOQuery1->Fields->FieldByName("NAME_K")->Visible=Frm[i]->Checked;
   }
 }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)