here is my code:
Code: Select all
function TSyncAction.HasChanges(connection: TDBXConnection; TableName: string; out changes: TClientDataSet): Boolean;
var
sqlCommand: TDBXCommand;
sincronizedParam: TDBXParameter;
sqlResults: TDBXReader;
begin
Result := False;
if Assigned(connection) then
begin
if connection.IsOpen then
begin
sqlCommand := connection.CreateCommand;
try
sqlCommand.Text := Format(baseSelectChangesCommand, [TableName]);
sincronizedParam := sqlCommand.CreateParameter;
sincronizedParam.DataType := TDBXDataTypes.WideStringType;
sincronizedParam.Value.SetWideString('N');
sqlCommand.Parameters.AddParameter(sincronizedParam);
sqlCommand.Prepare;
sqlResults := sqlCommand.ExecuteQuery;
changes := TDBXDataSetReader.ToClientDataSet(nil, sqlResults, False); //The error is raised here
Result := not changes.IsEmpty;
finally
sqlResults.Free;
sqlCommand.Free;
end;
end
else
raise Exception.Create('Connection Closed!');
end;
end;