delphi使用ClientDataset和TDatasetProvider更新多表生成更新语句有误
例如
SELECT *,(select name from 表B where id=表a.id) FROM 表A
通过TDatasetProvider生成语句更新表A,运行applyUpdate更新表a,会出现无效字段名错误,通过profile跟踪发现生成的更新表是表b,
解决办法是去掉表b的语句,变关联表为单个表更新
例如
SELECT *,(select name from 表B where id=表a.id) FROM 表A
通过TDatasetProvider生成语句更新表A,运行applyUpdate更新表a,会出现无效字段名错误,通过profile跟踪发现生成的更新表是表b,
解决办法是去掉表b的语句,变关联表为单个表更新