Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-09-2006
Hades-Plutón Hades-Plutón is offline
Registrado
 
Registrado: sep 2006
Posts: 2
Poder: 0
Hades-Plutón Va por buen camino
Question Delphi->SQL<-access(error si no hay datos)

¡Hola a todos! Soy nuevo en el club, y después de echar una ojeada puedo decir que me gusta un montón, Felicidades a todos.

Ahora la pregunta: Estoy aprendiendo a hacer programas en delphi que ataquen bases de datos access. He creado una consulta que funciona sólo si devuelve resultados, si no encuentra nada en la base de datos lanza un error al activar otra consulta:

Proyect p rais exception class EOleException with message 'El valor de bof o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual'. Process stopped

el código del botón que realiza la consulta es simple:

Código Delphi [-]
      Consulta.Close;
      Consulta.SQL.Clear;
      Consulta.SQL.Text:=
      'SELECT * FROM TablaLibro WHERE Título LIKE '+QuotedStr( Ebusqueda.Text );
      flistado.Consulta.OPEN

Para realizar la conexión tengo: tAdoConnection, tDataSource, tAdoQuery y TdbGrid

Gracias.

Última edición por dec fecha: 11-09-2006 a las 19:13:39.
Responder Con Cita
  #2  
Antiguo 11-09-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Trabajo con access y de vez en cuando se vuelve loca, hay que engañarla introcuciendo un registro sin sentido, pero bueno al caso en tu codigo veo que resulta bien asi:
Código Delphi [-]
Consulta.Close;
Consulta.SQL.Clear;
Consulta.SQL.Text:= 'SELECT * FROM TablaLibro WHERE Título LIKE '+QuotedStr( Ebusqueda.Text )+'';
Consulta.Filtered := True;
Tengo un codigo casi igual y funciona, pruebalo tal vez te sirva
Saludos
Responder Con Cita
  #3  
Antiguo 11-09-2006
Hades-Plutón Hades-Plutón is offline
Registrado
 
Registrado: sep 2006
Posts: 2
Poder: 0
Hades-Plutón Va por buen camino
¡Muchas gracias! pero...

Si llamo a --> Consulta.Filtered := True;
en vez de a --> Consulta.open;
no aparecen los datos en el DBGrid

¿hay alguna forma de saber si la consulta recibe datos? es decir, algo así:
Código Delphi [-]
adoQuery.Close;
      adoQuery.SQL.Clear;
      adoQuery.SQL.Text:=
      'SELECT * FROM TablaLibro WHERE Título LIKE '+QuotedStr( Ebusqueda.Text )+'';
      if (adoQuery.ConsiguióDatos) then 
         adoQuery.Open

Es que creo que es ese Open el que me falla si la consulta no recibe nada de la BD access.

Gracias de nuevo.
Responder Con Cita
  #4  
Antiguo 11-09-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Hay un truco que uso para saber si una consulta se hace bien o que me envia la misma.
Código Delphi [-]
      adoQuery.Close;
      adoQuery.SQL.Clear;
      adoQuery.SQL.Text:= 'SELECT * FROM TablaLibro WHERE Título LIKE '+QuotedStr( Ebusqueda.Text )+'';
 // este mensaje se usa para saber si el sql envia lo correcto
      Showmessage(ADOQuery1.SQL.Text);
Con esto tal vez salgas de alguna duda.
Saludos
Responder Con Cita
  #5  
Antiguo 12-09-2006
Avatar de Alexander
Alexander Alexander is offline
Miembro
 
Registrado: may 2004
Posts: 235
Poder: 21
Alexander Va por buen camino
Smile Actualizar

Esto me pasaba cuando tenia instalada la versión inicial de ADO.

Actualiza la versión y realiza las mismas consultas, para ver si te funciona.

Alexander
__________________
Cielos azules
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
Detener un error de access violation de la DbGrid - delphi..... uper Varios 1 21-09-2005 21:54:42
Error conectando una base de datos Access hunabku Conexión con bases de datos 0 23-05-2005 16:05:08
error: Record/Key Deleted al importar datos a Access Capo Conexión con bases de datos 0 08-03-2005 22:59:21
grandisimo error de delphi - access fearlex Conexión con bases de datos 4 07-07-2004 16:29:37


La franja horaria es GMT +2. Ahora son las 07:54:50.


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