Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Consultas de usuario parametrizadas (https://www.clubdelphi.com/foros/showthread.php?t=55080)

gorsan 07-04-2008 21:25:02

Consultas de usuario parametrizadas
 
Hola foro.
Hoy busco informacion sobre como crear un metodo de consultas con parametros y que sea el usuario quien introduzca estos.
Ya me he construido un programita que hace de editor SQL a traves del cual construyo sentencias, ya sean desde scripts previamente realizados o desde cero, y funciona bien, pero mi problema viene con los parametros. No se como establecer la interacion entre el usuario y el programa con los parametros.
He mirado por la red y he encontrado un pequeño tutorial de Jose Alonso pero no explica bien este aspecto. Habla de un script algo asi:

Código SQL [-]
/*
{DESDE;D;Desde fecha;}
{HASTA;D;Hasta fecha;}
{CLIENTE;N;Codigo del cliente;}
*/

SELECT F.FECHA, C.NOMBRE, SUM(F.BASE_IMP) BASE, SUM(F.TOTAL_IVA) IVA, SUM(F.IMPORTE_TOTAL) TOTAL
FROM FACTURAS F INNER JOIN CLIENTES C ON(F.CLIENTE=C.CODIGO)
WHERE C.CODIGO=¿CLIENTE? AND (F.FECHA>=¿DESDE? AND F.FECHA<=¿HASTA?)
GROUP BY F.FECHA, C.NOMBRE

Pero luego no lo explica bien. Crea una funcion que saca los parametros del script y los procesa. El metodo parece interesante pero no lo terminade explicar bien. ¿Alguien conoce el tutorial de que hablo? ¿Alguien me puede echar un cable con esto o indicarme donde encontrar informacion?
Trabajo con IBX6 y Delphi 7
Gracias por la ayuda.

jachguate 08-04-2008 02:42:11

No conozco el citado manual, pero creo que es muy simple.

En delphi, en casi todos los componentes de acceso a datos que conozco, los parámetros se identifican con un signo de dos puntos. Creo recordar que ADO Vs. SQL Server también acepta la arroba.

Lo cierto, es que podes pedirle a Delphi que se encargue de identificar los parámetros, en conjunto con el servidor de base de datos. ¿Cómo?, asignando la propiedad SQL introducida por el usuario, preparando la consulta, y luego revisando la propiedad params.

Finalmente, podrías preparar un formulario con tantos elementos como esta coleccion contenga, para permitir al usuario introducir el valor de cada uno de ellos, asignar sus valores y finalmente ejecutar la consulta.

Es solo una idea, con el afán de ilustrarte un camino, a mi forma de ver, seguro y sencillo.

Hasta luego.

;)

gorsan 08-04-2008 16:11:09

Gracias por tu respuesta. Pero ... ¿podrias ponerme algun ejemplo?
Gracias

Delphius 08-04-2008 16:36:37

Hola gorsan, encontrarás infinidad de ejemplos si emplearas el buscador.
Emplea como palabras claves las palabras: parámetros, ParamByName, Params, filtrado, fechas.

Hay buen material dando vuelta por los foros.

Si tienes nuevas dudas vuelve aqui y las tratamos.

Saludos,

jachguate 08-04-2008 17:30:53

Cita:

Empezado por gorsan (Mensaje 278266)
¿podrias ponerme algun ejemplo?
Gracias

De manera muy simple, y sin validar sintaxis en Delphi:

Código Delphi [-]
  Query1.SQL.Text := Memo1.Lines.Text;
  Query1.prepare;
  for I := 0 to Query1.Params.Count - 1 do
    Query1.Params[i].Value := PedirParametro(Query1.Params[i].Name);
  Query1.Open;

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 05:34:24.

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