Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #16  
Antiguo 26-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por bulc Ver Mensaje
Por cierto, las subpropiedades de la Prop. Params del Query me dejan un poco al pairo. ¿Se pueden explicar aqui?
Hola bulc.

A ver si puedo aclarar un poco el asunto...

Los parámetros se definen en la consulta y siempre se escriben precedidos por dos puntos ':'. La consulta se puede asignar en tiempo de diseño o en tiempo de ejecución.

Si en tiempo de diseño, desde el Object Inspector, asignamos a la propiedad SQL el valor:
Código SQL [-]
SELECT * 
FROM TABLA
WHERE NAME = :PNAME
Se habrá creado un parámetro llamado "PNAME", cosa que podes comprobar desde el mismo Object Inspector haciendo click sobre los '...' de la propiedad Params.

Habiendo sido creada la consulta y su parámetro, se puede llamar bién por su propiedad vectorial Params:
Código Delphi [-]
  with IBQuery1 do
  begin
    Close;
    Params[0].AsString := Edit1.Text;
    Open;
  end;
O bién mediante el método ParamByName:
Código Delphi [-]
  with IBQuery1 do
  begin
    Close;
    ParamByName('PNAME').AsString := Edit1.Text;
    Open;
  end;


De otro modo, si consulta y parámetro son creados en tiempo de ejecución, se deben especificar ámbos.

Mediante la propiedad vectorial Params:
Código Delphi [-]
  with IBQuery1 do
  begin
    Close;
    SQL.Text := 'SELECT * FROM TABLA WHERE NAME = :PNAME';
    Params[0].AsString := Edit1.Text;
    Open;
  end;
Mediante el método ParamByName:
Código Delphi [-]
  with IBQuery1 do
  begin
    Close;
    SQL.Text := 'SELECT * FROM TABLA WHERE NAME = :PNAME';
    ParamByName('PNAME').AsString := Edit1.Text;
    Open;
  end;

Existe un tercer modo de acceso a los parámetros y es mediante la propiedad ParamValue:
Código Delphi [-]
  with IBQuery1 do
  begin
    Close;
    SQL.Text := 'SELECT * FROM TABLA WHERE NAME = :PNAME';
    Params.ParamValues['PNAME'] := Edit1.Text;
    Open;
  end;

Por último cabe acotar que si existe una definición de consulta/parámetros en tiempo de diseño, al asignar una nueva definición de consulta/parámetros en tiempo de ejecución, se sobreescribirá lo realizado en tiempo de diseño.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cerrar un TQuery en un a dll lookmydoom Conexión con bases de datos 0 16-08-2008 15:08:15
problemas con TQUERY ercrizeporta Conexión con bases de datos 2 21-09-2006 17:39:09
TQuery nenufer Conexión con bases de datos 2 22-05-2006 16:41:03
Ayuda Tquery jorgito Varios 1 21-01-2006 00:39:43
TQuery como parametro jzk OOP 6 14-10-2004 16:45:45


La franja horaria es GMT +2. Ahora son las 17:01:24.


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