Самоучитель по Delphi 7 для профессионалов



              

Способы редактирования данных - часть 2


implementation

 {$R *.dfm}

procedure TfmDemoDBX.FormCreate(Sender: TObj ect);

 begin

tblVens.Open;

cdsGusts.Open;

 end;

procedure TfmDemoDBX.FormDestroy(Sender: TObject);

 begin

tblVens.Close;

cdsCusts.Close;

 end;

{Editing feature with updating query}

procedure TfmDemoDBX.tblVensAfterScroll(DataSet: TDataSet);

 begin

edVenNo.Text := tblVens.FieldByName('VENDORNO').AsString; 

edVenName.Text := tblVens.FieldByName('VENDORNAME').AsString; edVenAdr.Text := tblVens.FieldByName('ADDRESS1')AsString;

 edVenCity.Text := tblVens.FieldByName('CITY').AsString; 

edVenPhone.Text := tblVens.FieldByName('PHONE').AsString; 

end;

procedure TfmDemoDBX.sbCancelClick(Sender: TObject);

 begin

tblVens.First; 

end;

procedure TfmDemoDBX.sbNextClick(Sender: TObject);

 begin

tblVens.Next; end;

procedure TfmDemoDBX.sbPostClick(Sender: TObject);

 begin

with quUpdate do

try

ParamByName(4dx').Aslnteger :=

 tblVens.FieldByName('VENDORNO').Aslnteger; 

ParamByName('No').AsString := edVenNo.Text; 

ParamByName('Name').AsString := edVenName.Text;

 ParamByName('Adr').AsString := edVenAdr.Text;

ParamByName('City').AsString := edVenCity.Text;

 ParamByName('Phone1).AsString := edVenPhone.Text; 

ExecSQL; except

MessageDlg('Vendor''s info post error', mtError, [mbOK], 0);

 tblVens.First;

 end;

 end;

{Editing feature with cached updates}

procedure TfmDemoDBX.cdsCustsAfterPost(DataSet: TDataSet);

begin

cdsCusts.ApplyUpdates(-1);

 end;

procedure TfmDemoDBX.cdsCustsReconcileError(DataSet: 

TCustomClientDataSet;

E: EReconcileError; UpdateKind: TUpdateKind;

var Action: TReconcileAction);

begin

MessageDlg('Customer''s info post error', mtError, [mbOK], 0);

cdsCusts.CancelUpdates;

 end;

end.

Для просмотра и редактирования выбраны таблицы Vendors и Customers. Первая таблица подключена через настроенное соединение (компонент cnMast) к компоненту tbivens типа TSQLTable. Значение пяти полей отображается в обычных компонентах TEdit, т. к. компоненты отображения данных, связанные с компонентом dbExpress через компонент TDataSource, работают только в режиме просмотра, не позволяя редактировать данные (рис. 17.2).




Содержание  Назад  Вперед