Subject Re: [firebird-support] named parameter always replaced by '?'
Author Martijn Tonies
> The environment D7, Embedded Firebird 1.5.1, UIB dbExpress driver.
>
> I tried to use a TSQLQuery component (ParamCheck = False) to run the
> following code:
>
> -----
> CREATE PROCEDURE TEST (
> FIELD1 INTEGER)
> RETURNS (
> FIELD2 INTEGER)
> AS
> Begin
> FOR SELECT FIELD2 FROM TABLE1
> WHERE FIELD1 = :FIELD1
> INTO "FIELD2"
> DO
> BEGIN
> SUSPEND;
> END
> End
> I have tried modify the VCL source in SqlExpr.pas source by commenting
> a line of function FixParams as follows:
>
> //++++ SQL := stringReplace(SQL, Param, ' ? ', []);
>
> Yet, the '?' replacement persists. If I use the IBExpert program to
> create or modify the stored procedure, the ':' named parameter was
> never replaced by the '?'. I use the same fbClient.dll and dbexpress
> driver, so the replacement must be done by the delphi VCL codes, How
> can I stop the Replacement of named parameter by '?' ?

Or by the driver.

With regards,

Martijn Tonies
Database Workbench - developer tool for InterBase, Firebird, MySQL & MS SQL
Server.
Upscene Productions
http://www.upscene.com