Ver la Versión Completa : Quitar comillas simple para un Paramater.String
Comandant
14-09-2012, 22:37:20
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:
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?
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:
Query.MacroByName('tabla').AsString := 'clientes';
Ahora, si la sentencia que pusiste no marca error entonces quizá, repito, quizá, te sirva ponerlo así:
Fdm.ZQuery4.ParamByName('D').Value:= 'clientes';
ya que el AsString es posibllemente el que pone las comillas.
// Saludos
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.