Hallo,
zu 1: Du hast in deiner Tabelle sicher Pflichtfelder, die unbedingt gefüllt werden müssen (ein leerer Datensatz bringt meist nicht viel
).
Diese Pflichtfelder würde ich im BeforePost Ereignis der AdoQuery abfragen:
Delphi-Quellcode:
procedure TForm1.ADOQuery1BeforePost(DataSet: TDataSet);
begin
if DataSet.FieldByName('
FELD1').IsNull
then
raise Exception.Create('
Das Feld "FELD1" muss einen Wert haben');
if DataSet.FieldByName('
FELD2').IsNull
then
raise Exception.Create('
Das Feld "FELD2" muss einen Wert haben');
end;
Durch die ausgelöste
Exception wird das Speichern abgebrochen.
zu 2: angenommen du verwendest die gleiche OnClick-Prozedur für beide Buttons:
Delphi-Quellcode:
procedure TForm1.btnSaveClick(Sender: TObject);
begin
if Sender = btnSaveCancel then
AdoQuery1.Cancel
else
AdoQuery1.Post;
// Code zum Schließen
end;
Ich hoffe das hilft dir weiter.