然后修改第二表对应编号的产地,这里用sql语句实现怕是好一些 with adoquery1 do begin sql.clear; sql.add('update table2 set addres=''+address+'' where id=''+id+''');注意参数的引号 execsql; end; 然后刷新talbe2,就应该看到结果,最好是双击单元格的事件里好一些
不需要这个"是buttonclick中还是dbgridCellClick中?"直接用sql语句就可以实现了,类似"insert into tab2 (产地) select * from tab1 where tab1.产地=tab2.产地"
--//都可以
直接用SQL查询到,插入就OK
因为在点击空白处时也会响应buttonclick,这是我们所不希望的。
insert into tab2 (产地) select * from tab1 where tab1.产地=tab2.产地
添加数据是通过数据集的append,post的功能实现的,
不过看你说的好像是要修改另外一个表的内容啊,不是要添加.因为talbe2已经有了编号字段,只能是修改
大概的思路:点击第一个表相应的行获取相应的编号,产地,这个容易吧
id:=adotable1.fieldbyname('id').value id是你的表中的编号字段,不是这里的id
address:=adotable.fieldbyname('addr').value
然后修改第二表对应编号的产地,这里用sql语句实现怕是好一些
with adoquery1 do
begin
sql.clear;
sql.add('update table2 set addres=''+address+'' where id=''+id+''');注意参数的引号
execsql;
end;
然后刷新talbe2,就应该看到结果,最好是双击单元格的事件里好一些