Вам необходимо учесть следующее:
- Если ваша
ListViewShifts
переменная TListView
, метод ListViewShifts.Items.Add
не ожидает параметров.В этом причина Too many actual parameters
ошибки. - SQL-оператор
SELECT Count(10) FROM Bookings WHERE NurseNo=:nurseID;
вернет набор результатов только с одним столбцом. - Если вы хотите получить первые 10 строк, то, вероятно, ваш оператордолжно быть:
SELECT TOP(10) FROM Bookings WHERE NurseNo=:nurseID;
- Использование методов набора данных
First
, Eof
и Next
для выборки записей из набора результатов.
Следующий базовый пример показывает, как добавить10 предметов в вашем TListView
:
procedure TMainForm.btnGet(Sender: TObject);
var
li: TListItem;
begin
Qry := TFDQuery.Create(DBConnection);
Qry.Connection := DBConnection;
Qry.SQL.Text := 'SELECT TOP(10) FROM Bookings WHERE NurseNo=:nurseID;';
Qry.Params.ParamByName('nurseID').AsInteger := NurseID;
Qry.Active := True;
Qry.First;
for Count := 1 to 10 do
begin
Qry.Next;
li := ListViewShifts.Items.Add;
li.Caption := Qry.Fields[0].AsString;
end;
(*
Qry.First;
while not Qry.Eof do begin
li := ListViewShifts.Items.Add;
li.Caption := Qry.Fields[0].AsString;
Qry.Next;
end;
*)
end;