FDJSONDeltasApplyUpdates有两个连接查询的错误

时间:2017-09-23 09:00:11

标签: delphi join datasnap

我正在使用Delphi DataSnap REST应用程序进行测试。 我从Embarcadero尝试了本教程,它适用于简单表和一个连接SQL查询。

//简单的表格样本

V001.SQL.Text := 'Select * from T001 where K010=:XK010';

//一个连接查询

V001.SQL.Text := 
    'SELECT T001.K001 AS K001, T001.K010 AS K010, '
+ 'T001.F001 AS F001, T010.F001 AS F002 '

+ 'T001.F001 AS F001, T010.F001 AS F002 '

+ 'FROM T001 LEFT JOIN T010 ON T001.K010 = T010.K010 '

+ 'WHERE T001.K010=:XK010 '

+ 'ORDER BY T001.F001';

现在我开始尝试使用两个连接查询此示例并在ApplyUpdates过程中获取错误。

// two joins query
V001.SQL.Text :=
'SELECT T001.K001 AS K001, T010.F002 AS T010F002, '
+ 'T016.F002 AS T016F002, '
+ 'T001.F001 AS F001, T001.K010 AS K010, T001.K016 AS K016 '
+ 'FROM ((T001 LEFT JOIN T010 ON T001.K010 = T010.K010) '
+ '     LEFT JOIN T016 ON T001.K016 = T016.K016) '
+ 'WHERE T001.K010=:XK010 '
+ 'ORDER BY T001.F001';


procedure TServerMethods1.ApplyChangesSupplierProduct(const ADeltaList: TFDJSONDeltas);
var
LApply: IFDJSONDeltasApplyUpdates;
sText: String;
begin
// Create the apply object
LApply := TFDJSONDeltasApplyUpdates.Create(ADeltaList);
// Apply the supplier delta
LApply.ApplyUpdates(myJoinQuery, V001.Command);
if LApply.Errors.Count > 0 then
    // Raise an exception if any errors.
raise Exception.Create(LApply.Errors.Strings.Text);
end;

作为上面显示的两个联接的SQL示例,错误发生在LApply.ApplyUpdates(myJoinQuery, V001.Command)行。

请有人向我展示一些关于如何完成这项工作的建议,或者我是否需要自己准备V001.Command以及如何准备。

提前致谢。

0 个答案:

没有答案