With dm.ADOq do
begin
Close;
SQL.Clear;
SQL.Add('Select * From weixiudan Where no='''+edit3.Text+'''');
open;
try
Edit; //修改记录
FieldByName('ren').AsString:=cb4.Text;
FieldByName('cj').AsString:=cb1.Text;
FieldByName('no').AsString:=Edit3.Text;
FieldByName('wangdianhao').AsString:=edit4.Text;
Post;
refresh;
showmessage('修改成功');
except
showmessage('有误,请从新修改');
end;
end;
我用这个程序修改表的一般字段都正确 ,修改表的主键NO时候不能修改,每次都会新建一行,怎么能直接修改 不新建一行记录?
begin
Close;
SQL.Clear;
SQL.Add('Select * From weixiudan Where no='''+edit3.Text+'''');
open;
try
Edit; //修改记录
FieldByName('ren').AsString:=cb4.Text;
FieldByName('cj').AsString:=cb1.Text;
FieldByName('no').AsString:=Edit3.Text;
FieldByName('wangdianhao').AsString:=edit4.Text;
Post;
refresh;
showmessage('修改成功');
except
showmessage('有误,请从新修改');
end;
end;
我用这个程序修改表的一般字段都正确 ,修改表的主键NO时候不能修改,每次都会新建一行,怎么能直接修改 不新建一行记录?
begin
with dm.ADOq do
begin
edit;
Fields[1].Value:=trim(Edit1.Text);
UpdateRecord;
UpdateBatch;
end;
showmessage('修改成功');
end;
except
showmessage('有误,请从新修改');
end;
//这样修改即可