query.sql.clear; query.sql.add('select * from yourtable where yourfield='+quotedstr(edit1.text)); query.open; if not query.eof then//如果字段值相同 begin table.edit; table.fieldbyname('yourfieldname').asstring:=edit2.text; table.post; end else //否则添加 begin table.insert; table.fieldbyname('yourfieldname').asstring:=edit2.text; table.post; end;
用dbedit不行吗?为何一定要用edit
if Edit1.Text=table1.Fieldbyname('字段').Value then begin with Table1 do begin edit; fieldbyname('字段1') .Value:=Edit1.text; Post; end; end else with Table1 do begin Append; fieldbyname('字段1') .Value:=Edit1.text; fieldbyname('字段2') .Value:=Edit2.text; Post; end;
这是个费事的选择,dbedit和数据库连接更合理。
在edit.onkeydown中写 if key=#13 then begin //判断是否存在 if 存在 then //修改 else //添加 end;
query.sql.add('select * from yourtable where yourfield='+quotedstr(edit1.text));
query.open;
if not query.eof then//如果字段值相同
begin
table.edit;
table.fieldbyname('yourfieldname').asstring:=edit2.text;
table.post;
end
else //否则添加
begin
table.insert;
table.fieldbyname('yourfieldname').asstring:=edit2.text;
table.post;
end;
begin
with Table1 do
begin
edit;
fieldbyname('字段1') .Value:=Edit1.text;
Post;
end;
end
else
with Table1 do
begin
Append;
fieldbyname('字段1') .Value:=Edit1.text;
fieldbyname('字段2') .Value:=Edit2.text;
Post;
end;
if key=#13 then
begin
//判断是否存在
if 存在 then
//修改
else
//添加
end;