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 09-05-2006
pikachuy pikachuy is offline
Registrado
 
Registrado: abr 2006
Posts: 2
Poder: 0
pikachuy Va por buen camino
Mensaje de Error al Cerrar Aplicacion

Saludos a todos.
Es la primera vez que participo en este foro

Mi problema es el siguiente:

Ejecuto este codigo en un boton para mostrar el resultado en un DBGRID:

La relacion de los componentes es:
DBGrid1->DataSource1->Query1.

Código:
Query1.SQL.Clear;
Query1.SQL.Text:='Select (Cursos.Nombre) as Nombre, (Cursos.Turno) as Turno, (Cursos.Horario) as Horario From'
  +' Cursos, Grupos Where Grupos.Id_Alumno='+QuotedStr(PCCAClave.Text)
  +' and Grupos.Id_Curso=Cursos.Id_Curso and Cursos.Tipo="CURSO"';
Query1.ExecSQL;
Query1.Active:=True;
Se ejecuta bien la consulta y muestra sus resultados.

pero luego al cerrar la aplicacion aparece esto:
Mensaje de error:
Código:
Proyect SCC.exe raised exception class EAccessViolation 
with message 'Access violation at address 000000000. 
Read of address 000000000'. Process stopped. Use Step or Run to Continue.
y luego cambio la consulta(para probar que es lo que pasa):
Código:
Query1.SQL.Clear;
Query1.SQL.Text:='Select * From Cursos';
Query1.ExecSQL;
Query1.Active:=True;
Se ejecuta bien y se cierra bien la aplicacion.

esto lo he probado por separado en un programa sencillo y me di cuenta que el problema es la consulta:
Código:
Query1.SQL.Text:='Select (Cursos.Nombre) as Nombre, (Cursos.Turno) as Turno, (Cursos.Horario) as Horario From'
 +' Cursos, Grupos Where Grupos.Id_Alumno='+QuotedStr(PCCAClave.Text)
 +' and Grupos.Id_Curso=Cursos.Id_Curso and Cursos.Tipo="CURSO"';
Estas consultas no regresan ni 15 registros.
Esa consulta me sirve porque me muestra lo que quiero

Si me pueden ayudar a resolver este problema se los agradeceria mucho.

PD: Perdon por no manejar bien las etiquetas.

Última edición por pikachuy fecha: 09-05-2006 a las 06:39:21.
Responder Con Cita
  #2  
Antiguo 09-05-2006
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
Buenas!

En lugar de hacer

Código Delphi [-]
Query1.execsql;
Query1.active:=true

prueba con

Código Delphi [-]
Query1.open;


Y, por cierto, si tienes este código en un botón, vas a dejar la consulta abierta, si el usuario pulsa 2 veces vas a tener errores, por lo que al inicio debes controlar si está cerrado:

Código Delphi [-]
if  query1.active then query1.close;


Espero que te sirva

Edu
Responder Con Cita
  #3  
Antiguo 09-05-2006
pikachuy pikachuy is offline
Registrado
 
Registrado: abr 2006
Posts: 2
Poder: 0
pikachuy Va por buen camino
Gracias epuigdef funcionó de maravilla,
por cierto lo de que si el usuario pulsa dos veces
el boton eso lo controlo si la consulta regresa resultados
el boton se deshabilita.
Nuevamente Gracias
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
Mensaje de error al finalizar aplicacion salvanano Conexión con bases de datos 20 17-06-2006 21:26:22
Error al cerrar mi aplicación Albano OOP 1 08-12-2005 20:42:32
Error al cerrar la aplicación en RTL90.bpl Jesús Pena Varios 0 24-11-2005 11:27:08
Abstract Error al cerrar aplicación jymy788 Varios 6 01-07-2005 20:55:01
Error al cerrar la aplicacion!! Waldo API de Windows 2 22-11-2003 00:39:12


La franja horaria es GMT +2. Ahora son las 01:26:18.


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