1. Ну мне кажется вы уже с запросом наврали.
Код:
ADOQuery5.SQL.Add('SELECT * FROM Patient');
Так вы получите всех пациентов, а вам наверняка нужно по какому-то критерию это делать иначе на клик в любой ячейке вашего грида вы будете получать один и тот-же набор пациентов.
2.
Код:
ADOQuery5.Open;
ADOQuery5.Active:=True;
Это две аналогичные комманды, оставьте какую-то одну.
3.
Код:
Memo4.Lines.Add(ADOQuery5.FieldByName('Sity').AsString);
Memo4.Lines.Add(ADOQuery5.FieldByName('Street').AsString);
Memo4.Lines.Add(ADOQuery5.FieldByName('Home').AsString);
Memo4.Lines.Add(ADOQuery5.FieldByName('Kv').AsString);
Memo4.Lines.Add(ADOQuery5.FieldByName('P_Kont_Phone').AsString);
Таким кодом вы будете получать только значение одной текущей записи, а для получения всех записей надо по полученным данным пробежаться:
Код:
while not ADOQuery5.Eof
do begin
Memo4.Lines.Add(ADOQuery5.FieldByName('Sity').AsString);
Memo4.Lines.Add(ADOQuery5.FieldByName('Street').AsString);
Memo4.Lines.Add(ADOQuery5.FieldByName('Home').AsString);
Memo4.Lines.Add(ADOQuery5.FieldByName('Kv').AsString);
Memo4.Lines.Add(ADOQuery5.FieldByName('P_Kont_Phone').AsString)
ADOQuery5.Next;
end;