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 31-01-2013
aggg63 aggg63 is offline
Miembro
 
Registrado: sep 2005
Posts: 31
Poder: 0
aggg63 Va por buen camino
Error haciendo una segunda consulta

Hola.

Tengo una base de datos generada con SQLite. Trabajo con los componentes ZEOS 6 y Delphi 2006. No soy muy experto en el tema de base de datos.
Realizo una consulta para extraer un codigo y a continuacion realizo otra consulta para obtener mas datos. La primera funciona sin problemas, pero la segunda, cuando intento visualizar el numero de registros, me sale un error diciendo que 'Cannot perform this operation in a closed dataset'. He probado con ZConsultaBD.Close; activado y desactivado, el problema es el mismo. ¿Como se pueden realizar varias consultas en una misma base de datos? Gracias.


Código Delphi [-]
      
        if ZConexionBD.Connected then ZConexionBD.Disconnect;
        ZConexionBD.Database:=directorioBaseDatos+'Historico.sql';
        ZConexionBD.Protocol:='sqlite-3';
        ZConexionBD.Connected:=TRUE;
        ZConsultaBD.Connection:=ZConexionBD;
        comSQL:='SELECT CodigoTemporada'
               +' FROM Temporadas'
               +' WHERE Temporada="'+inttostr(t)+'-'+inttostr(t+1)+'"';
        ZConsultaBD.SQL.Text:=comSQL;
        ZConsultaBD.ExecSQL;
        ZConsultaBD.Open;
        ct:=ZConsultaBD0.FieldByName('CodigoTemporada').AsInteger;
        //ZConsultaBD.Close;
        //ZConsultaBD.SQL.Clear;
        comSQL:='SELECT CodigoArticulo'
               +' FROM ArticuloTemporada'
               +' WHERE CodigoTemporada='+inttostr(ct);
        ZConsultaBD.SQL.Text:=comSQL;
        ZConsultaBD.ExecSQL;
        ZConsultaBD.RecordCount; <-- ERROR
Responder Con Cita
  #2  
Antiguo 31-01-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Más o menos...

Código Delphi [-]
  if ZConexionBD.Connected then ZConexionBD.Disconnect;
        ZConexionBD.Database:=directorioBaseDatos+'Historico.sql';
        ZConexionBD.Protocol:='sqlite-3';
        // cambiar de orden estas líneas
        ZConsultaBD.Connection:=ZConexionBD;
        ZConexionBD.Connected:=TRUE;
        //
        comSQL:='SELECT CodigoTemporada'
               +' FROM Temporadas'
               +' WHERE Temporada="'+inttostr(t)+'-'+inttostr(t+1)+'"';
        ZConsultaBD.SQL.Text:=comSQL;
        // ZConsultaBD.ExecSQL;  esta línea sobra
        ZConsultaBD.Open;
        ct:=ZConsultaBD0.FieldByName('CodigoTemporada').AsInteger;
        ZConsultaBD.Close;
        // ZConsultaBD.SQL.Clear;  no hace falta esta línea
        comSQL:='SELECT CodigoArticulo'
               +' FROM ArticuloTemporada'
               +' WHERE CodigoTemporada='+inttostr(ct);
        ZConsultaBD.SQL.Text:=comSQL;
        // ZConsultaBD.ExecSQL;  tampoco vale
        // es igual que la de arriba, con open :
        ZConsultaBD.Open;  // esta es la que debe ser        
        ZConsultaBD.RecordCount; <-- ERROR
Responder Con Cita
  #3  
Antiguo 31-01-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Hola. Sobre los cambios que te sugiere Casimiro, mira esta información: http://www.clubdelphi.com/foros/show...48&postcount=6

Saludos.
Responder Con Cita
  #4  
Antiguo 31-01-2013
aggg63 aggg63 is offline
Miembro
 
Registrado: sep 2005
Posts: 31
Poder: 0
aggg63 Va por buen camino
Gracias por los comentarios y sugerencias. Ha funcionado sin problemas.
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
Error al generar por segunda vez QReport Higurashi150 Conexión con bases de datos 1 06-12-2010 11:53:21
Problemas al cerrar-destruir Tquery, o al hacer segunda consulta fonx Conexión con bases de datos 13 02-10-2007 09:19:15
Como puedo mostrar lo que estoy haciendo en una segunda pantalla rmenor Gráficos 9 16-12-2006 14:21:47
Error al llamar por segunda vez al QReport Ana Cristina Impresión 4 09-07-2004 08:31:36
Error al cargar formulario por segunda vez sgarrido Varios 4 19-05-2004 23:06:15


La franja horaria es GMT +2. Ahora son las 22:25:42.


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