Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 8 de 8
Ir a la página Anterior  1, 2, 3, 4, 5, 6, 7, 8
 
Proyecto Fin De Grado
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Fin De Grado 
 
En la sentencia SQL veo "ORDER By 1"

¿Es '1' el nombre de un campo? Porque si no lo es, es muy probable que tengas un error silencioso por ahí...


Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Fin De Grado 
 
Buenas.

Gracias a todos he encontrado el problema , se me habia colado un

FMain.Conexion_Base_Datos.Close
 


Esto cierra la conexión a la base de datos.

Una pregunta ¿Si cargo un Result, si cierro la conexión a la base de datos se pierde los datos del Result.?

Es que tengo la costumbre de cada vez que realizo una acción en la base de datos hago:
1.- Abro conexión a la Base de datos
2.- Realizo la acción (Insert, select , etc...)
3.- Cierro la conexión.

No se si es buena o mala practica, pero así me evito el problema de saber en cada momento como tengo la conexión de la base de datos.

Cuando estaba currando veía mucho que muchos programas, paginas webs, tenían este problema, de tener muchísimas conexiones abiertas y después no ir bien. Claro esta como nosotros le montábamos el servidor (hardware, y el SO, pero no administrábamos el contenido) era problema nuestro.

Saludos.
 



 
rescobar - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Fin De Grado 
 
rescobar escribió: [Ver mensaje]
Buenas.

Gracias a todos he encontrado el problema , se me habia colado un

FMain.Conexion_Base_Datos.Close
 


Esto cierra la conexión a la base de datos.

Una pregunta ¿Si cargo un Result, si cierro la conexión a la base de datos se pierde los datos del Result.?

Es que tengo la costumbre de cada vez que realizo una acción en la base de datos hago:
1.- Abro conexión a la Base de datos
2.- Realizo la acción (Insert, select , etc...)
3.- Cierro la conexión.

No se si es buena o mala practica, pero así me evito el problema de saber en cada momento como tengo la conexión de la base de datos.

Cuando estaba currando veía mucho que muchos programas, paginas webs, tenían este problema, de tener muchísimas conexiones abiertas y después no ir bien. Claro esta como nosotros le montábamos el servidor (hardware, y el SO, pero no administrábamos el contenido) era problema nuestro.

Saludos.

Abierta. La conexión siempre abierta al principio del programa. No la cierres hasta el final. Eso no genera miles de conexiones, genera una sola conexión.
Cierto que hay servidores, como MySQL que si el usuario demora mucho entre consulta y consulta te la pueden cerrar por time-out o cosas así, pero con establecer mecanismos por si acaso, el problema se soslaya.
Si quieres comprobar la eficiencia de abrir-consultar-cerrar, activa el perfilador de tiempos y comprobarás que, con MySQL, abrir la base de datos puede llevar casi cinco veces el tiempo de una consulta pequeña (dependiendo de la distancia al servidor, su capacidad y la consulta que quieras hacer, claro).
Pero en principio, la conexión siempre abierta.
Utiliza la propiedad opened de la clase Connection para evitar problemas.
if not miconexion.opened then miconexion.open()
miconexion.exec(miconsulta)
 

Eso no consume casi tiempo, si la conexión está abierta, y te evita el error.

Citar:
Una pregunta ¿Si cargo un Result, si cierro la conexión a la base de datos se pierde los datos del Result.?

No. No tiene nada que ver, un Result es un objeto en memoria (como un array, vamos,) y una vez que está ahí, ahí está.
Otra cosa es cuando intentas utilizar los métodos del mismo para acceder a la base de datos (update, por ejemplo), que sí te petarán si está cerrada. Pero recorrer el result y demás no "tira" de la conexión.

Saludos
 




===================
No podemos regresar
 
última edición por shordi el Domingo, 26 Noviembre 2017, 20:41; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Fin De Grado 
 
rescobar:

Consejo: El depurador que tiene el IDE de gambas, te puede ayudar mucho. Poner puntos de interrupción e ir paso a paso linea a linea ejecutando el programa, e ir viendo los cambio de valor de las variables, a mi me ha ayudado a resolver muchos problemas.
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Fin De Grado 
 
Buenas.

Shordi

Citar:


No. No tiene nada que ver, un Result es un objeto en memoria (como un array, vamos,) y una vez que está ahí, ahí está.
Otra cosa es cuando intentas utilizar los métodos del mismo para acceder a la base de datos (update, por ejemplo), que sí te petarán si está cerrada. Pero recorrer el result y demás no "tira" de la conexión.



Pues parece ser que si tiene que ver ya que al cerrar la conexión de la base de datos era cuando dejaba de funcionar el Result.

Como no sea un Bug de la versión 3.10.0. O algo raro que aun no se que es.

Pero quitando el .close  me ha dejado de dar el error.

Saludos.
 



 
rescobar - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Fin De Grado 
 
Citar:
Pues parece ser que si tiene que ver ya que al cerrar la conexión de la base de datos era cuando dejaba de funcionar el Result.

No te lo discuto. Yo nunca cierro las conexiones.      
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Fin De Grado 
 
Por experiencia propia, es cierto que si cierras la conexión, el objeto 'result' pierde su contenido, sólo lo mantiene con la conexión abierta y nunca he sabido el motivo.

De igual modo que shordi, yo mantengo la conexión abierta durante toda la ejecución del programa y nunca he tenido problemas, aunque también me preparé una mini-función que comprobaba que estaba abierta y si no, se volvía a abrir siempre que tenía que ejecutar una operación sobre la BD. De ese modo, cero problemas.

Para evitar memory leaks (pérdidas de memoria, crecimiento de la ram en uso) lo suyo es siempre cerrar la conexión, amén de otras limpiezas, justo antes del cierre de la aplicación por ejemplo en el evento Form_Close del formulario principal o en otro lugar apropiado.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Fin De Grado 
 
Citar:
Para evitar memory leaks (pérdidas de memoria, crecimiento de la ram en uso) lo suyo es siempre cerrar la conexión, amén de otras limpiezas, justo antes del cierre de la aplicación por ejemplo en el evento Form_Close del formulario principal o en otro lugar apropiado.

Amén.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Proyecto OCR 4octavio4 Aplicaciones/Fragmentos de Código 9 Sabado, 14 Julio 2012, 12:01 Ver último mensaje
alessandri
No hay nuevos mensajes Proyecto De Grado Paquito General 4 Lunes, 16 Noviembre 2015, 10:11 Ver último mensaje
Paquito
No hay nuevos mensajes Proyecto De Grado Paquito General 1 Martes, 17 Noviembre 2015, 09:39 Ver último mensaje
Shell
No hay nuevos mensajes Proyecto Con OCR calcena General 15 Jueves, 17 Octobre 2019, 22:15 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 8 de 8
Ir a la página Anterior  1, 2, 3, 4, 5, 6, 7, 8

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron