Здесь используются обычные Edit (Не DBEdit). Преимущество: я могу данные фильтровать и корректировать как хочу.
Код:
procedure TwCard.fCardSave(Sender: TObject); {Сохранение карты в базе]}
begin
fwBase.ffCards.Append;
idCard:=fwBase.fdbMain.Gen_Id('CARD_SEQ',1);
sCardOpen:=DateToStr(dNowStored);
eCardOpen.Text:=' '+sCardOpen;
fwBase.ffCards.FieldByName('CARD_ID').AsInteger:=idCard;
fwBase.ffCards.FieldByName('CARD_OPEN').AsString:=sCardOpen;
fwBase.ffCards.FieldByName('BIRTH_DATE').AsString:=eBirthDate.Text;
fwBase.ffCards.FieldByName('PATIENT_FAMILY').AsString:=eFamily.Text;
fwBase.ffCards.FieldByName('TOWN').AsString:=eTown.Text;
fwBase.ffCards.FieldByName('STREET').AsString:=eStreet.Text;
fwBase.ffCards.FieldByName('HOUSE').AsString:=eHouse.Text;
fwBase.ffCards.FieldByName('PATIENT_PHONE').AsString:=ePhone.Text;
fwBase.ffCards.Post;
fwBase.ffCards.ApplyUpdates;
fwBase.ftaMainWrite.Commit;
end;
procedure TwCard.fCardLoad(Sender: TObject); {Загрузка карты из базы}
begin
bCardNew:=false; bCardSaved:=true; bCardEdit:=false;
eCardNumber.Text:=nulltoempty(fwBase.ffCards.FieldByName('CARD_ID').AsString);
eCardOpen.Text:=nulltoempty(fwBase.ffCards.FieldByName('CARD_OPEN').AsString);
eBirthDate.Text:=nulltoempty(fwBase.ffCards.FieldByName('BIRTH_DATE').AsString);
eFamily.Text:=nulltoempty(fwBase.ffCards.FieldByName('PATIENT_FAMILY').AsString);
eTown.Text:=nulltoempty(fwBase.ffCards.FieldByName('TOWN').AsString);
eStreet.Text:=nulltoempty(fwBase.ffCards.FieldByName('STREET').AsString);
eHouse.Text:=nulltoempty(fwBase.ffCards.FieldByName('HOUSE_NUMBER').AsString);
eFlat.Text:=nulltoempty(fwBase.ffCards.FieldByName('FLAT_NUMBER').AsString);
ePhone.Text:=nulltoempty(fwBase.ffCards.FieldByName('PATIENT_PHONE').AsString);
end;