Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Quitar comillas simple para un Paramater.String (https://www.clubdelphi.com/foros/showthread.php?t=80282)

Comandant 14-09-2012 22:37:20

Quitar comillas simple para un Paramater.String
 
Hola todos quería saber cual es el código para quitar las comillas a un string, debido a que cuando hago una consulta con un zquery (uso zeos) y le pongo por ej:

Código Delphi [-]
zquery.sql.add:= 'Select * from :D ';
Fdm.ZQuery4.ParamByName('D').AsString:= 'clientes';

Me he dado cuenta que le envía un 'cliente' y no un cliente, estaba viendo el comando QuotedStr pero es justamente lo contrario de lo que necesito. Muchas Gracias

Comandant 14-09-2012 22:38:40

Ha ya me confundí en poner el zquery a zquery4 pero aun la pregunta es válida porque fue por copiar y pegar al azar.

Casimiro Notevi 14-09-2012 23:07:59

Depende de varios factores, pero en principio, no puedes pasarle como parámetro el nombre de la tabla.

Si usas firebird, haz una búsqueda por execute statement

Comandant 15-09-2012 00:57:25

Es un ejemplo nada mas el del parámetro 'clientes' pero me da curiosidad si se puede mas que nada debido a que sino tengo que emplear el sql.clear y luego escribir toda la consulta de nuevo cuando lo que quiero es un parámetro pero sin las comillas simples

MartinS 15-09-2012 01:32:00

Hola: y esto?

Código Delphi [-]
Procedure TPAlta.SeleccionTabla(Tabla:String);
Begin
   IBQuery1.Close;
   IBQuery1.SQL.Add('Select * From '+Tabla);
   //...
   //...
End;


// Ejemplo de llamada
procedure TPalta.Button1Click(Sender: TObject);
begin
   SeleccionTabla('Clientes');
end;

Con componentes para interbase/firebird pero la metodologia es la misma. Ojo solo para que pruebes ya que me parece medio innecesario hacer todo un procedimiento para evitar escribir una sentencia SQL.- ;)

Saludos ^\||/

roman 15-09-2012 03:42:36

Es como dice Casimiro, los parámetros son sólo para valores de campo. Algunos componentes, como MyDac, permiten otro tipo de elementos usando macros:

Código Delphi [-]
Query.MacroByName('tabla').AsString := 'clientes';

Ahora, si la sentencia que pusiste no marca error entonces quizá, repito, quizá, te sirva ponerlo así:

Código Delphi [-]
Fdm.ZQuery4.ParamByName('D').Value:= 'clientes';

ya que el AsString es posibllemente el que pone las comillas.

// Saludos


La franja horaria es GMT +2. Ahora son las 10:44:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi