Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-04-2008
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Poder: 21
gorsan Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 08-04-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
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.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 08-04-2008
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Poder: 21
gorsan Va por buen camino
Gracias por tu respuesta. Pero ... ¿podrias ponerme algun ejemplo?
Gracias
Responder Con Cita
  #4  
Antiguo 08-04-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
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,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 08-04-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cita:
Empezado por gorsan Ver Mensaje
¿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.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta



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
Pregunta: Usuario de red distinto al usuario de PC? AleT Internet 1 15-11-2006 15:51:07
Consultas SQL V.S. Consultas Clipper AGAG4 SQL 7 20-12-2005 15:59:31
Duda sobre sistema ulti-usuario y mono-usuario simon Varios 1 07-06-2004 18:35:44
Vistas parametrizadas para SQL Server 2000 SaurioNet SQL 0 06-04-2004 17:11:46
Consultas parametrizadas fjcg02 Conexión con bases de datos 6 16-01-2004 14:21:34


La franja horaria es GMT +2. Ahora son las 08:23:47.


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
Copyright 1996-2007 Club Delphi