TSQLQuery: new parameters are not recognized
Original Reporter info from Mantis: PascalR @PascalRiekenberg
-
Reporter name: Pascal Riekenberg
Original Reporter info from Mantis: PascalR @PascalRiekenberg
- Reporter name: Pascal Riekenberg
Description:
I have a prepared statement with paramters.
When i set new parameters they are not reconized.
If i do: "SQL.Text := SQL.Text;" before seting the parameters everything works as expected.
Additional information:
function TTest.Test(pNameUp: String): TObject;
var
lRef: String;
lRefField: TField;
begin
if not Assigned(fQuery) then begin
fQuery := TSQLQuery.Create(Nil);
with fQuery do begin
SQLConnection := fCon;
SQL.Text :=
'select' + #10 +
' substr(hkey, 9, 8) ref' + #10 +
'from' + #10 +
' d738u' + #10 +
'where' + #10 +
' hkey like concat(:name8, ''________SG32ANW %'');';
Prepare;
end;
end;
Result := Nil;
with fQuery do begin
//SQL.Text := SQL.Text;
Params[0].AsString := PadRight(Copy(pNameUp, 1, 8), 8);
Active := True;
try
lRefField := Fields[0];
while not EOF do begin
lRef := TrimRight(lRefField.AsString);
Result := FindObject(lRef);
if Assigned(Result) then
Exit;
Next;
end;
finally
Active := False;
end;
end;
end;