procedure PosModifyData; begin with table1 do begin if not active then open; edit; fieldbyname('字段1').value:=edit1.text; fieldbyname('字段2').value:=edit2.text; fieldbyname('字段3').value:=memo1.text; post;//保存数据到数据库 end; end;
procedure TDataUpdateForm.Button1Click(Sender: TObject); begin with UpDateDataModule.table do begin if SpinEdit1.text='' then begin ShowMessage('please enter...'); SpinEdit1.SetFocus; exit; end; if not Locate('字段',VarArrayof([SpinEdit1.text]),[LopartialKey]) then begin ShowMessage('无此记录,不能修改!'); exit; end; Edit; fieldbyname('字段1').value:=edit1.text; fieldbyname('字段2').value:=edit2.text; fieldbyname('字段3').value:=memo1.text; post; ShowMessage('修改成功!'; end; end; 可能与你期望的有所出入,仅供你参考一下,看行否?
procedure form1.PostJlclick(sender :TObject ); begin with table1 do begin edit; fieldbyname('mc').asstring:=edit1.text; fieldbyname('bz').asstring:=edit2.text; post; end; end;
看看你自己的問題!!
如果是edit的话 需要有一个能标志记录的唯一标志的
然后是这条记录处于修改的状态的 再把这条数据集修改为这个edit的值不就可以了吗
但是还是推荐用dbedit
begin
with table1 do
begin
if not active then open;
edit;
fieldbyname('字段1').value:=edit1.text;
fieldbyname('字段2').value:=edit2.text;
fieldbyname('字段3').value:=memo1.text;
post;//保存数据到数据库
end;
end;
begin
with UpDateDataModule.table do
begin
if SpinEdit1.text='' then
begin
ShowMessage('please enter...');
SpinEdit1.SetFocus;
exit;
end;
if not Locate('字段',VarArrayof([SpinEdit1.text]),[LopartialKey]) then
begin
ShowMessage('无此记录,不能修改!');
exit;
end;
Edit;
fieldbyname('字段1').value:=edit1.text;
fieldbyname('字段2').value:=edit2.text;
fieldbyname('字段3').value:=memo1.text;
post;
ShowMessage('修改成功!';
end;
end;
可能与你期望的有所出入,仅供你参考一下,看行否?
begin
with table1 do
begin
edit;
fieldbyname('mc').asstring:=edit1.text;
fieldbyname('bz').asstring:=edit2.text;
post;
end;
end;