Вниз
Скачать: CL | DM;

CheckListBox & Query   Найти похожие ветки 

 
sensor-x ©   (2003-07-30 05:01) [0]

Уважаемые мастера, помогите разобраться, трабла у меня вот в чем: на форме есть Database1,Query1 и CheckListBox1.
Query1.SQL := select NAM from dbo.kp
Мне нужно чтобы при нажатии на кнопку (Button1) все строки из колонки NAM, таблицы kp, отобразились в CheckListBox"e
Листинг:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
for I:= 0 to Query1.FieldCount - 1 do begin
CheckListBox1.Items.Add(Query1.Fields.Fields[i].AsString);
end;
end;

Только в итоге добавляется в листбокс одна (первая) строка. Подскажите в чем моя ошибка?
Заранее спасибо.


 
Evgeny V ©   (2003-07-30 05:24) [1]

По условию ты хочешь все записи(строки) по колонке NAM, а получаешь значения всех полей для одной записи. Надо так(считаем что запрос уже выполнился и еще не закрыт, сорьки код на си) -
void __fastcall TForm1::Button1Click(Sender *TObject)
{
while(!Query1.Eof)
{
CheckListBox1->Items->Add(Query1->FieldByName("NAM")->AsString);
Query1->Next();
}
}
Так как ты запрашиваешь одну колонку, можно вместо Query1->FieldByName("NAM")->AsString
делать Query1->Fields->Fields[0]->AsString Ну и вообще неплохо было бы очищать лист бокс перед заполнением:-)))



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
1-81667
Mishenka
2003-08-11 21:40
2003.08.25
Символ акселератор в меню...


1-81651
3APA3A
2003-08-14 00:14
2003.08.25
Rave Report


1-81631
ZioN
2003-08-12 15:13
2003.08.25
Повторный запуск приложнеия


7-81970
Фагот
2003-06-09 19:59
2003.08.25
CD-ROM


14-81889
Шишкин Илья
2003-08-01 09:59
2003.08.25
Вопрос по BASS




   Наверх