Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

ADO e InterBase desde Builder

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: ADO e InterBase desde Builder Responder citando

¡Hola a tod@s!

Tengo un extraño problema en mi aplicación. Ya es la segunda vez que me pasa. Trabajo contra InterBase a través de ADO. Si ejecuto una consulta (SELECT) y luego trato de hacer una inserción me salta un error del tipo: access memory violation. La primera vez lo solucioné quitando la inserción de donde estaba y llevándomela a una función aparte. La movida es que ahora no puedo. Tanto la consulta como la inserción han de ir en la misma función. ¿Alguien sabe por qué pasa esto? y, sobre todo, ¿alguien sabe cómo se soluciona?

Salu2 a todos.

Volver arriba
Mensaje    Asunto: ADO e InterBase desde Builder Responder citando

Da igual que sea un INSERT, UPDATE, ... Despues de una SELECT no permite hacer nada que no sea otra SELECT. A lo mejor el fallo es del componente TADOQuery de Builder, entre los métodos Close (SELECT) y ExecSQL (resto de instrucciones SQL). En fin, a ver si hay suerte y alguien que sepa de esto lee el mensaje. Salu2.
Volver arriba
Mensaje    Asunto: ADO e InterBase desde Builder Responder citando

Acabo de comprobar lo siguiente:
Si despues de hacer la SELECT (simpre mediante un TADOQuery) libero el puntero (delete qryAux;) y vuelvo a instanciarlo (TADOQuery *qryAux = new TADOQuery(this)Wink, entonces no da ningún problema al hacer luego un INSERT. Eso sí, más adelante me salta un error (dice que no puedo tocar la propiedad visible en un evento OnShow u OnHide). Evidentemente el error no es por eso, sino (creo yo) por algún puntero que se escapa. Yo creo que no encaja bien que haga el delete y luego vuelva a crear uel puntero a mitad de función. Si no hago esto, dicho error no aparece.
Algo debo estar haciendo mal, evidentemente, pero...¿el que?
Si saco algo mas, ya lo colgaré. Chao Wink
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.