Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Parametro en consultas (https://www.clubdelphi.com/foros/showthread.php?t=44683)

carlosegs11 12-06-2007 18:13:01

Parametro en consultas
 
Buenos días. Estoy utilizando consultas SQL en Tablas tipo .dbf

Cuando utilizo la siguiente consulta me funciona perfectamente:

Código Delphi [-]
  Query.SQL.Clear;
  Query.SQL.Add('SELECT : pCedula');
  Query.SQL.Add('FROM Tercero.dbf');
  Query.ParamByName('pCedula').AsString := Edit1.Text;
  Query.SQL.Open;

Pero si lo que necesito es pasar el nombre de la tabla como parámetro lo hago de la siguiente manera y no me funciona:

Código Delphi [-]
  Query.SQL.Clear;
  Query.SQL.Add('SELECT Cedula');
  Query.SQL.Add('FROM : pTabla');
  Query.ParamByName('pTabla').AsString := 'Tercero.dbf';
  Query.SQL.Open;

Alguien sabe cual es la forma correcta de hacerlo? :confused:

De antemano muchas gracias.

Carlos E.

//Lo edite para que vieras que la ultima etiqueta delphi no es con \ si no con /...

carlosegs11 12-06-2007 18:15:14

Perdon... esta es la forma correcta del mensaje.....

****************************

Buenos días. Estoy utilizando consultas SQL en Tablas tipo .dbf

Cuando utilizo la siguiente consulta me funciona perfectamente:



Código Delphi [-]
Query.SQL.Clear;
Query.SQL.Add('SELECT : pCedula');
Query.SQL.Add('FROM Tercero.dbf');
Query.ParamByName('pCedula').AsString := Edit1.Text;
Query.SQL.Open;
Pero si lo que necesito es pasar el nombre de la tabla como parámetro lo hago de la siguiente manera y no me funciona:



Código Delphi [-]
Query.SQL.Clear;
Query.SQL.Add('SELECT Cedula');
Query.SQL.Add('FROM : pTabla');
Query.ParamByName('pTabla').AsString := 'Tercero.dbf';
Query.SQL.Open;

Alguien sabe cual es la forma correcta de hacerlo? :confused:

De antemano muchas gracias.

Carlos E.

maeyanes 12-06-2007 18:22:39

Hola...

Para usar el nombre de tabla como "parámetro", tienes que usar variables en Delphi. Un pequeño ejemplo:

Código Delphi [-]
procedure Form1.OpenQuery(TableName: string);
begin
  with Query do
  begin
    Close;
    SQL.Clear;
    SQL.Text := Format('select Cedula from %s', [TableName]);
    Open
  end
end;


Saludos...

carlosegs11 12-06-2007 19:11:53

Gracias.
 
Muchas gracias. Lo utilicé de la siguiente forma y me funcionó muy bien:

Código Delphi [-]
with Query do
begin
  SQL.Clear;
  SQL.Text := Format('SELECT * FROM %s ORDER BY Cedula', [sNombre+'.dbf']);
  Open;
end;


La franja horaria es GMT +2. Ahora son las 22:47:26.

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