Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-02-2010
Er0s Er0s is offline
Miembro
 
Registrado: mar 2008
Posts: 75
Poder: 17
Er0s Va por buen camino
Gracias Caro y neftali por responder

Esta noche mirare porque ando en el curro.... pero si no entiendo mal neftali, me estas diciendo que use codigo para acceder a las BD no? como si de un fichero se tratase no?

Disculpad mi ignorancia
Responder Con Cita
  #2  
Antiguo 10-02-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por Er0s Ver Mensaje
Esta noche mirare porque ando en el curro.... pero si no entiendo mal neftali, me estas diciendo que use codigo para acceder a las BD no? como si de un fichero se tratase no?
Hola de nuevo, lo que te dice Neftali es que lo hagas de la forma del ejemplo que he puesto en mi primer mensaje.

Si quieres hacerlo con tu consulta de access, debes crearte el parametro con el mismo nombre que tienes en access como te dijo Neftalí, y no te olvides ponerle su tipo en la propiedad DataType. El código delphi para ejecutar tu consulta pasandole el prámetro sería así:

Código Delphi [-]
 ADOStoredProc1.Close; //También vale con Active := False;
 ADOStoredProc1.Prepared := True;;
 ADOStoredProc1.Parameters[0].Value := StrToInt(Edit1.Text);
 ADOStoredProc1.Open; //Active := True;

Ahora creo que si el procediento no devuelve valor se debe ejecutar con ADOStoredProc1.ExecProc, pero mejor si Neftalí nos confirma eso.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 11-02-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Er0s Ver Mensaje
...pero si no entiendo mal neftali, me estas diciendo que use codigo para acceder a las BD no? como si de un fichero se tratase no?
Intentaré explicarme mejor.

Hay 2 formas de ejecutar una consulta en Access desde un programa Delphi.

OPCION 1: Crear la consulta en Delphi utilizando SQL. Para ello necesitaras un componente TADOQuery; Y como tu consulta tiene una parámetro (valor variable) que comentas que es el DNI, deberás usar algo similar a lo que Caro te ha comentado aquí.

OPCION 2: Si no sabes SQL o quieres usar la consulta que has creado en Access, debes utilizar un componente TADOStoredProc. Como tu consulta tiene un parámetro variable, debes usar para rellenarlo un código similar al que Caro te ha comentado en este otro post.

Si tu consulta no tuviera parámetros podrías utilizar un TADOStoredProc directamente o pegar la SQL en un TADOQuery y ejecutarlo directamente (sin código). Como tu consulta tieve un parámetro variable (DNI) o se lo añades con código al TADOQuery(SQL) o se la pasas al TADOStoredProc. En ambos casos deberás utilizar algo de código.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 11-02-2010
Er0s Er0s is offline
Miembro
 
Registrado: mar 2008
Posts: 75
Poder: 17
Er0s Va por buen camino
El codigo Funciona

Cita:

datamodule1.Consulta.Close;
datamodule1.Consulta.Prepared := True;;
datamodule1.Consulta.Parameters[0].Value := Edit1.Text;
datamodule1.Consulta.Open;
datamodule1.Consulta.ExecProc;
Ahora mi pregunta, dado mi ignorancia, es la siguiente como muestro esos datos filtrados por DNI en pantalla ya sea en DBedits o en una DBGrid, es decir como busco en la tabla dichos datos con el parametro obtenido y como los muestro despues en pantalla?

Última edición por Er0s fecha: 11-02-2010 a las 13:01:17.
Responder Con Cita
  #5  
Antiguo 11-02-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por Er0s Ver Mensaje
Ahora mi pregunta, dado mi ignorancia, es la siguiente como muestro esos datos filtrados por DNI en pantalla ya sea en DBedits o en una DBGrid, es decir como busco en la tabla dichos datos con el parametro obtenido y como los muestro despues en pantalla?
Hola de nuevo, en el Edit ya le estas pasando un valor a tu consulta, ahora solo debes añadir un DataSource enlazado a tu TAdoStoredProc y tu dbgrid enlazado a tu datasource y veras el resultado.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #6  
Antiguo 11-02-2010
Er0s Er0s is offline
Miembro
 
Registrado: mar 2008
Posts: 75
Poder: 17
Er0s Va por buen camino
Cita:
Empezado por Caro Ver Mensaje
hora solo debes añadir un DataSource enlazado a tu TAdoStoredProc y tu dbgrid enlazado a tu datasource y veras el resultado.

Saluditos

Llevaba to la mañana probandolo y no habia manera de mostrar datos...... Toda la mañana metiendo DNI en el Edit y que no salen los datos. Una y mil veces hice lo que acabas de escribir y una y mil veces metia el DNI a ver si encontraba al cliente y nada. hasta que viene la iluminacion y me llega a la mente " Calamar esta consulta necesita un nombre no un DNI" lol.

Todo Ok, ya me muestra datos. Gracias por vuestra rapida ayuda.

Hasta la proxima Duda :P
Responder Con Cita
  #7  
Antiguo 17-03-2011
Er0s Er0s is offline
Miembro
 
Registrado: mar 2008
Posts: 75
Poder: 17
Er0s Va por buen camino
Despues de un año trabajando con componentes TAdoStoreProc, Gracias a vuestra ayuda, me encuentro hoy con un problemilla.

Ejemplo:

Tenemos dos explotaciones ganaderas, si escojo una explotación ganadera quiero mostrar un listado de las cabezas de ganado que hay en dicha explotacion y si escojo la otra pues obviamente mostrara las cabezas de ganado que existan.

Con los ejemplos que aprendí gracias a vosotros, funciona pero....

1. selecciono explotacion
2. quiero listado
3. no sale el listado... DBGrid vacia
4. quiero listado
5. Sale el listado siempre que lo solicite de aquí en adelante
6. Si selecciono otra explotacion volvemos al punto 1

Código Delphi [-]
    datamodule1.storeproc.Close;
    datamodule1.storeproc.Parameters[0].Value:=ExploId;
    datamodule1.storeproc.Prepared:=true;
    datamodule1.storeproc.open;
    datamodule1.storeproc.exeproc;

Este es el código que utilizo

Alguna idea de porque no me da la información la primera vez que lo solicito?
Responder Con Cita
  #8  
Antiguo 17-03-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Bueno, nunca he usado un TAdoStoreProc, de hecho nunca lo habia visto (que despistado).
Lo cierto es que si hay una consulta en access y la quiero usar en mi programa en delphi, tal cual, simplemente la llamo desde un simple ADOTable, como si fuera una tabla mas.
Si se necesita filtrarla, pues se hace un filtro.
Creo que se le llama una vista, en firebird se usan igualmente.
Saludos
__________________
Siempre Novato
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
Consultas de ACCESS en Delphi 7 y ADO saldanaluis Tablas planas 1 19-12-2007 07:16:26
consultas sql en access alfil123 Conexión con bases de datos 2 31-10-2006 03:01:11
Como modificar consultas de access en tiempo de ejecucion ernestocad SQL 0 06-04-2005 16:30:05
Consultas a db en Access mediante el Tadoquery cancerbero Tablas planas 7 20-07-2004 22:52:23
Consultas por fecha en access Mashabak Conexión con bases de datos 2 16-06-2004 19:33:17


La franja horaria es GMT +2. Ahora son las 15:04:37.


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