можно и вот так. Edit'ы должны называться так: EAnswer 1,EAnswer 2,EAnswer 3,EAnswer 4:
Код:
procedure TForm1.FillEdits(id_quest,id_test: integer);
var
i: integer;
begin
ZAnswers.SQL.Text := 'SELECT * FROM answer WHERE ID_QUEST=:QUEST AND ID_TEST=:TEST';
ZAnswers.ParamByName('QUEST').AsInteger := id_quest;
ZAnswers.ParamByName('TEST').AsInteger := id_test;
ZAnswers.Open;
while not ZAnswers.Eof do
begin
for i:=0 to ComponentCount-1 do
begin
if Components[i].Name = 'EAnswer' + IntToStr(ZAnswers.RecNo) then
begin
(Components[i] as TEdit).Text := ZAnswers.FieldByName('ANSWER').AsString;
end;
end;
ZAnswers.Next;
end;
ZAnswers.Close;
end;
или так:
Код:
procedure TForm1.FillEdits(id_quest,id_test: integer);
var
i: integer;
begin
ZAnswers.SQL.Text := 'SELECT * FROM answer WHERE ID_QUEST=:QUEST AND ID_TEST=:TEST';
ZAnswers.ParamByName('QUEST').AsInteger := id_quest;
ZAnswers.ParamByName('TEST').AsInteger := id_test;
ZAnswers.Open;
EAnswer1.Text := ZAnswer.FieldByName('ANSWER').AsString;
ZAnswers.Next;
EAnswer2.Text := ZAnswer.FieldByName('ANSWER').AsString;
ZAnswers.Next;
EAnswer3.Text := ZAnswer.FieldByName('ANSWER').AsString;
ZAnswers.Next;
EAnswer4.Text := ZAnswer.FieldByName('ANSWER').AsString;
ZAnswers.Close;
end;
Использовать так:
Код:
FillEdits(номер_вопроса,номер_теста);
__________________
Коли навчався в школі я - в мені росли мозгЫ. КудИж вони поділися? гы-гы гы-гы гы-гы...
ICQ: 593977748
Nick: Marvel
|