Вниз
Скачать: 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.012 c
1-81787
ivc_andr
2003-08-14 10:20
2003.08.25
Программное выключение компьютера


1-81698
Dimon
2003-08-11 12:22
2003.08.25
PrintDialog


8-81842
zorg2003
2003-04-26 00:43
2003.08.25
MMSYSTEM some questions


4-82009
VD
2003-06-22 19:25
2003.08.25
Доступ к папкам в Win2000


14-81897
Революционеры-Анархисты
2003-08-07 21:10
2003.08.25
Добрый день, уважаемые




   Наверх