delphi怎么修改access数据库里的内容?
beginwithADOQuery1dobeginClose;SQL.Clear;SQL.Text:='UPDATE会员统计SET会员卡号=:hykh,消费金额=:xfj...
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Text := 'UPDATE 会员统计 SET 会员卡号=:hykh,消费金额=:xfje where 会员姓名=:hyxm';
Parameters.ParamByName('hyxm').Value := Trim(Edit1.text);
Parameters.ParamByName('hykh').Value := Trim(Edit2.text);
Parameters.ParamByName('xfje').Value := Trim(Edit3.text);
ExecSQL;
end;
end;
编译没有出错。但是就是修改不了数据库里的内容。
我想实现的目的是点dbgrid eidt1 edit2 edit3显示内容(这些都成功了)。然后点修改可以修改数据库的内容。谢谢各位 展开
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Text := 'UPDATE 会员统计 SET 会员卡号=:hykh,消费金额=:xfje where 会员姓名=:hyxm';
Parameters.ParamByName('hyxm').Value := Trim(Edit1.text);
Parameters.ParamByName('hykh').Value := Trim(Edit2.text);
Parameters.ParamByName('xfje').Value := Trim(Edit3.text);
ExecSQL;
end;
end;
编译没有出错。但是就是修改不了数据库里的内容。
我想实现的目的是点dbgrid eidt1 edit2 edit3显示内容(这些都成功了)。然后点修改可以修改数据库的内容。谢谢各位 展开
2个回答
展开全部
方法1:
用异常判断处理:
if trim(edit1.Text)='' then
begin
application.MessageBox('*****不能为空,请输入***','提示',mb_ok);
edit1.SetFocus;
exit;
end;
try
ADOQuery1.FieldByName('会员姓名').AsString:=trim(Edit1.text);
^^^^^^^
^^^^^^^^^^
ADOQuery1.Post;
begin
application.messagebox('该****记录已经成功添加入数据库!' ,'保存成功',mb_ok);
end;
except
begin
application.MessageBox('出现异常错误。无法增加记录!','出错提示',mb_ok);
ADOQuery1.CancelUpdates;
close;
end;
end;
方法2:
点"修改"时:
with ADOQuery1 do
begin
Edit;
FieldByName('会员姓名').AsString :=trim(edit1.Text);
^^^^^^^
^^^^^^^^^^
end;
当你选中某条记录的时候,ADOQUERY的指针是指向了某条记录的,你可以直接用adoquery.eidt命令进行修改的了,不用再去查询到你想要修改的记录,然后才去修改其他字段.
用异常判断处理:
if trim(edit1.Text)='' then
begin
application.MessageBox('*****不能为空,请输入***','提示',mb_ok);
edit1.SetFocus;
exit;
end;
try
ADOQuery1.FieldByName('会员姓名').AsString:=trim(Edit1.text);
^^^^^^^
^^^^^^^^^^
ADOQuery1.Post;
begin
application.messagebox('该****记录已经成功添加入数据库!' ,'保存成功',mb_ok);
end;
except
begin
application.MessageBox('出现异常错误。无法增加记录!','出错提示',mb_ok);
ADOQuery1.CancelUpdates;
close;
end;
end;
方法2:
点"修改"时:
with ADOQuery1 do
begin
Edit;
FieldByName('会员姓名').AsString :=trim(edit1.Text);
^^^^^^^
^^^^^^^^^^
end;
当你选中某条记录的时候,ADOQUERY的指针是指向了某条记录的,你可以直接用adoquery.eidt命令进行修改的了,不用再去查询到你想要修改的记录,然后才去修改其他字段.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询