我是用ADO连接的ACCESS数据库,现在我希望通过一个按钮比如"修改记录",单击后出现一个窗口,窗口中还有一些EDIT,用来接受我要修改的字段,如"年龄","单位","职称"等,问通过什么办法来实现将修改后的数据写入目的表(我数据库的连接已经全弄好了),谢谢,小弟新人.

解决方案 »

  1.   

    if Form2.ShowModal = mrok then
      begin
      ....  //在这里写处理程序。
      end;
      

  2.   

    ADOTable1.Edit;
    ADOTable1.FieldByName('年龄').Value :=  XXXX;
    ADOTable1.FieldByName('单位').Value :=  YYYY;
    ADOTable1.Post;
      

  3.   

    现在代码如下:
    ADOTable1.Edit;
    adotable1.append;//移动到最后一条记录。
    ADOTable1.FieldByName('年龄').Value :=  XXXX;
    ADOTable1.FieldByName('单位').Value :=  YYYY;
    ADOTable1.FieldByName('单位').Value :=  ZZZZ;
    ADOTable1.Post;不过,修改的时候会出现主键相同的记录,那怎么办?
    比如,姓名都是“张三”的记录?
      

  4.   

    修改前先做一次查询,用查询控件就行,例:
    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;
      

  5.   

    用一个动态窗口,先拖一个form,命名修改窗体(frmUpdate)
    自定义函数,代码如下:
    function OpenfrmUpdate():integer;
    begin
            frmUpdate:=TfrmUpdate.Create(nil);
            frmUpdate.ShowModal;
            result:=0;
            frmUpdate.Free;
    end;
    修改的话方法就多了,可以写sql语句,也可以利用字段属性赋值更改,这个简单啦
    就不多说了
    *************************************************************
    然后在主窗体即你的修改按纽所在的form中加载窗体frmUpdate,接着就可以在“修改”按纽下写代码:
    begin
       OpenUpdate();// 打开修改窗体           
    end;