OK Jetzt hab ich es gelöst
Das problem liegt nicht bei den RemObjects Komponenten, sondern in den
ADO Kompos.
so hab ich das gemacht:
ich suche nach Parameter und bereite dann den
SQL Script neu auf ohne ""
Delphi-Quellcode:
procedure StringFieldValidator(Sender: TDABusinessProcessor;
aChangeType: TDAChangeType; aChange: TDADeltaChange;
const aCommand: IDASQLCommand);
var
currParam : TDAParam;
paramName, newSQL, oldSQL : string;
paramValue : variant;
i, parNameLength, lpos, oldSQLLength : integer;
begin
newSQL := '';
oldSQL := aCommand.SQL;
oldSQLLength := length(oldSQL);
for i := 0 to aCommand.Params.Count-1 do
begin
currParam := aCommand.Params[i];
if currParam.DataType = datString then
begin
paramValue := '''' + VarToStr(currParam.Value) + '''';
paramName := ':'+currParam.Name;
parNameLength := length(paramName);
lpos := pos(paramName, oldSQL);
while lpos > 0 do
begin
if not (oldSQL[lpos + parNameLength] in ['0'..'9', 'a'..'z', 'A'..'Z', '_']) then
begin
newSQL := copy(oldSQL, 0, lpos - 1) + paramValue +
copy(oldSQL, lpos + parNameLength, oldSQLLength);
oldSQL := newSQL;
oldSQLLength := length(oldSQL);
lpos := pos(paramName, oldSQL);
end
else
begin
if ( pos(paramName, copy(oldSQL, lpos + parNameLength, oldSQLLength)) > 0 ) then
lpos := lpos + parNameLength - 1 +
pos(paramName, copy(oldSQL, lpos + parNameLength, oldSQLLength))
else lpos := -1;
end;
end;
end;
end;
aCommand.SQL := newSQL;
end;
Dann das ganze in den BusinessProcessor ins OnProcessChange Event. und es funktioniert !!!!
Wollte euch nur die Lösung preisgeben.
Allso merke PostgreSQL & Dataabstract & Umlaute geht nicht ohne diese Funktion.
lg
Bundy