A表和B表关联,于是在DBGRID中显示视图的纪录C:select id,name,type from a,b where a.type=b.typeid,如:
A表:
id name type
1 张三 1
2 李四 2
3 赵五 3
4 王六 1
5 孙七 2
B表:
typeid typename
1 本科
2 硕士
3 博士
于是视图C:
id name type
1 张三 本科
2 李四 硕士
3 赵五 博士
4 王六 本科
5 孙七 硕士现在视图的纪录定位在第三条纪录上,我想对姓名字段值进行修改成:赵五->赵六.
由于不能对视图进行编辑,此时如何对A表进行编辑?需要简洁一些的.

解决方案 »

  1.   

    你的视图C里面的ID应该和A表里面的ID对应,如果修改赵五的,那么就修改A表里面ID是3的记录,把name改成赵六
      

  2.   

    1.获取视图中ID
    2.生成临时Query,根据视图中的ID更新基础表A相应的字段
      

  3.   

    楼上的,你的方法是我正在用的,我的代码如下:
    adoqueryA.Locate('ID',adoqueryC.FieldByName('ID').AsString,[]);
    adoqueryA.Edit;
    adoqueryA.post;
    有没有更快捷的方法?