[Lazarus-es] Uso de par?metros

Ismael L. Donis Garc?a ismael en citricos.co.cu
Mar Dic 22 22:55:25 CET 2009


Lo único que talvez sea que aunque es un string y está declarado como tal en 
este caso el valor que le trato de pasar es '2578', pero insisto se lo trato 
de pasar como string, y así funciona si en vez de poner:

strsql := 'select mpdatge.mpdp, mpdatge.clave from mpdatge where 
((mpdatge.entidad)=:pEntidad)';

pongo:

strsql := 'select mpdatge.mpdp, mpdatge.clave from mpdatge where 
((mpdatge.entidad)=''' + dtm.strentidad + ''')'; // aquí funciona bien.

El parámetro no puede ser númerico porque el campo de la base de datos es 
varchar y puede tener cualquier valor de string.

Saludos cordiales
=========
¦¦ ISMAEL ¦¦
=========
"Oír o leer sin reflexionar es una ocupación inútil".
               Confucio (551-479 a. C.); filósofo chino.

----- Mensaje original ----- 
De: "Claudio Romero" <clauslack en gmail.com>
Para: "Spanish version of Lazarus List" 
<lazarus-es en lists.lazarus.freepascal.org>
Enviado: martes, 22 de diciembre de 2009 02:25
Asunto: Re: [Lazarus-es] Uso de par?metros


dtm.strentidad TIENE que ser del tipo String (una cadena) Es asi?

El día 22 de diciembre de 2009 17:36, Ismael L. Donis Garc?a
<ismael en citricos.co.cu> escribió:
> Si eso estoy claro, pero es a la hora de pasarle el valor al parámetro.
>
> Lo trato de hacer de la siguiente forma pero da error:
>
> rsbuscar.Params.ParamByName('pEntidad').AsString:=dtm.strentidad;
>
> Como es que hay que pasarle el valor?
>
> En un mensaje que me mandaste pusiste:
>
> var
>  MyQuery: TSQLQuery;
> begin
>  MyQuery=TSQLQuery.Create;
>  MyQuery.SQL.Text:='Select * from Table Where ID=:ID and LastDate<:FECHA';
>  MyQuery.Params.ParamByName('ID').AsInteger:=1234;
>  MyQuery.Params.ParamByName('FECHA').AsDate:=Now();
>  MyQuery.Open;
>  While Not MyQuery.Eof do begin
>    XX:=MyQuery.FieldByName('CAMPOX').AsString;
>    YY:=MyQuery.FieldByName('LASTDATE').AsDate;
>    MyQuery.Next;
>  end;
> end;
>
> Pues trato de hacer lo siguiente y me da error:
>
> MyQuery.Params.ParamByName('ID').AsInteger:=1234;
>
> que en mi caso sería:
>
> rsbuscar.Params.ParamByName('pEntidad').AsString:=dtm.strentidad;
>
> Pero nada.
> =========
> ¦¦ ISMAEL ¦¦
> =========
>






More information about the Lazarus-es mailing list