我是用ADO连接的ACCESS数据库,现在我希望通过一个按钮比如"修改记录",单击后出现一个窗口,窗口中还有一些EDIT,用来接受我要修改的字段,如"年龄","单位","职称"等,问通过什么办法来实现将修改后的数据写入目的表(我数据库的连接已经全弄好了),谢谢,小弟新人.
解决方案 »
- 菜鸟女子求助:有人自己编写TGraphiControl画图控件吗?
- delphi如何给Access瘦身
- [cxGrid] ExportGrid4ToExcel是采用什么方法使数据导出Excel这么快?
- Delphi中有实现h323协议栈的开发包吗?
- 按下鼠标左键移动鼠标产生什么事件?
- 请问如何实现mediaplay的自动循环播放midi文件的功能,谢谢!
- 有关DBGrid与数据库的连接的问题!急、急、急……
- query.open總是出錯??
- 怎样建索引才合理?
- 急急急!!!初次写多层程序,可更新数据却有问题,各位高手请帮小弟看看。
- 求救!!如何把dbgrid中的数据导入到excel中?
- 怎么能让欢迎界面WelForm在2秒钟后,WelForm窗口长和宽逐渐缩小到不显示,需要有点动态的视觉效果,然后跳到主界面MainForm
begin
.... //在这里写处理程序。
end;
ADOTable1.FieldByName('年龄').Value := XXXX;
ADOTable1.FieldByName('单位').Value := YYYY;
ADOTable1.Post;
ADOTable1.Edit;
adotable1.append;//移动到最后一条记录。
ADOTable1.FieldByName('年龄').Value := XXXX;
ADOTable1.FieldByName('单位').Value := YYYY;
ADOTable1.FieldByName('单位').Value := ZZZZ;
ADOTable1.Post;不过,修改的时候会出现主键相同的记录,那怎么办?
比如,姓名都是“张三”的记录?
adoruery1.sql.clear;
adoquery1.sql.add('select 姓名 from tablename where 姓名='+'"'+trim(editName.text)+'"');
adoquery1.execsql;
if adoquery.recordset.isEmpty then
begin
//插入你的code
showmessage('该记录已经存在');
end
else
//插入楼上的code
end;
自定义函数,代码如下:
function OpenfrmUpdate():integer;
begin
frmUpdate:=TfrmUpdate.Create(nil);
frmUpdate.ShowModal;
result:=0;
frmUpdate.Free;
end;
修改的话方法就多了,可以写sql语句,也可以利用字段属性赋值更改,这个简单啦
就不多说了
*************************************************************
然后在主窗体即你的修改按纽所在的form中加载窗体frmUpdate,接着就可以在“修改”按纽下写代码:
begin
OpenUpdate();// 打开修改窗体
end;