Delphi - ERROR AL ABRIR UNA QUERY

   
Vista:

ERROR AL ABRIR UNA QUERY

Publicado por JUAN RODRIGUEZ SANCHEZ (47 intervenciones) el 30/03/2009 13:13:32
Hola a tod@s!!!

A ver....tengo un problemilla. He hecho un programa donde un trozo de código se ejecuta varias veces repetidamente... y me sale un error 'Access Violation a la dirección de memoria: 0x00030ffc. El trozo de código donde obtengo el error es:

qry.sql.clear;
qry.SQL.add('CONSULTA SQL');
qry.open;
if not qry.eof then
begin
//REALIZO UNA OPERACIÓN
end;
qry.close;

EL ERROR OCURRE EN AL LINEA : qry.open , Y EL ERROR SIEMPRE SE PRODUCE EN LA CUARTA ITERACIÓN DEL CÓDIGO, YA QUE LO HE OBSERVADO DEPURANDO PASO A PASO (CON F7) .

No se porque ocurre, solo abro la query para consultar su contenido y siempre en la cuarta iteración.

GRACIAS DE ANTEMANO, ESPERO QUE ME PODAIS ECHAR UNA MANO...

Salud!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ERROR AL ABRIR UNA QUERY

Publicado por E.T. (1107 intervenciones) el 30/03/2009 17:48:13
La consulta que ejecutas, es siempre la misma?

pon este codigo para ver la consulta, y verificar que esté bien, esto por si generas la consulta dinámicamente

qry.sql.clear;
qry.SQL.add('CONSULTA SQL');
Showmessage(qry.sql.text);
qry.open;
if not qry.eof then
begin
//REALIZO UNA OPERACIÓN
end;
qry.close;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ERROR AL ABRIR UNA QUERY

Publicado por JUAN RODRIGUEZ SANCHEZ (47 intervenciones) el 30/03/2009 17:54:31
Hola E.T.
Gracias por tu atención y por echarme de nuevo una mano.
Si, la consulta que lanzo es un select (por eso utilizo el qry.open) y SIEMPRE, es el mismo.
He leido por ahí, que seguramente estaré accediento a un objeto que está cerrado o no existe, pero lo curioso es que pasa aleatoriamente (cuando le da la gana), no estoy seguro de que puede estar pasando. Es muy desagradable que estés trabajando con el programa y que de buenas a primeras te devuelva ese error....
Te voy a hacer una pregunta aparte de la que ya he colocado en el foro : ¿Cada vez que haces un open de una tabla, al final...hay que hacer un close de la tabla? Supongo que no, porque el close debería ir acompañado del anterior create de la tabla. ¿Estoy en lo cierto?

Bueno, E.T. de nuevo, muchas gracias, y haber si puedo solucionar este MARRON.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ERROR AL ABRIR UNA QUERY

Publicado por E.T. (1107 intervenciones) el 30/03/2009 18:48:50
No es necesario el close, a menos que lo hagas por rendimiento de la aplicación, digamos que solo haces consultas en esa tabla la puedes abrir y cerrar por cada consulta, si insertas y modificas constantemente la tabla, sería mejor dejarla abierta

Que base de datos usas y que componetes utilizas para accesarla??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ERROR AL ABRIR UNA QUERY

Publicado por Juan rodrguez sanchez (1 intervención) el 31/03/2009 00:36:40
Hola e.t.!! Gracias de nuevo por tu atencion. Uso mysql y para acceder a las tablas y querys hago uso de un modulo de datos(data module) en ese data module tengo creados todos los componentes que luego utilizo en los formularios del programa.La verdad,que no se porqué me da ese error apuntando a esa direccion de memoria.¿Puede ser por el volumen de datos almacenados? No lo creo. Espero,me puedas ayudar. Mil gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar