TQuery的SQL.Text是一个这样的查询:
SELECT dba.id,dba.score,dbb.id,dbb.name 
FROM dba,dbb 
WHERE dba.id=dbb.id想对它查询的结果进行修改,就将REQUESTALIVE=TRUE;
但这只对是一张表查询时才有效,查询来自多张表时就无效,仍是只读的。如果将cacheupdate设为TRUE,这样的话不会错误,最后用ApplyUpdate也可以实现更新,不过这样就有新的问题,比如我新增一条记录到表dba中,它的ID在dbb中也有相应的ID和Name,但因为设置cacheupdate本地缓存的原因,Query不过立即到表dbb中查询相应的name,这时与query相对应的DbGrid中的name一栏就是空的(如果此时提交修改再重新刷新一下Query才能显示出来),这样很是不方便。上述问题也就是对从多张表中查询的结果记录集的修改问题,哪位有较好的解决办法?