procedure TForm1.DoDBEDITEnter(Sender: TObject); begin //dsEdit //dsInsert IF TDBEDIT(SENDER).DataSource.DataSet.State IN [dsEdit,dsInsert] THEN exit; IF TDBEDIT(SENDER).DataSource.DataSet.IsEmpty THEN BEGIN TDBEDIT(SENDER).DataSource.DataSet.Insert; END ELSE BEGIN TDBEDIT(SENDER).DataSource.DataSet.Edit; END; end;procedure TForm1.FormShow(Sender: TObject); var i:integer; begin for i:=0 to self.ComponentCount-1 do Begin if (self.Components[i] is TDBEDIT) THEN BEGIN (self.Components[i] As TDBEDIT).OnEnter:=DoDBEDITEnter; END; end; end;
2设置数据库为编辑状态
DataSet.Edit;
就行了
begin
//dsEdit
//dsInsert
IF TDBEDIT(SENDER).DataSource.DataSet.State IN [dsEdit,dsInsert] THEN exit;
IF TDBEDIT(SENDER).DataSource.DataSet.IsEmpty THEN
BEGIN
TDBEDIT(SENDER).DataSource.DataSet.Insert;
END ELSE
BEGIN
TDBEDIT(SENDER).DataSource.DataSet.Edit;
END;
end;procedure TForm1.FormShow(Sender: TObject);
var
i:integer;
begin
for i:=0 to self.ComponentCount-1 do
Begin
if (self.Components[i] is TDBEDIT) THEN
BEGIN
(self.Components[i] As TDBEDIT).OnEnter:=DoDBEDITEnter;
END;
end;
end;