Pregunta sobre ADo y Tdolphin

Pregunta sobre ADo y Tdolphin

Postby ruben Dario » Wed Apr 10, 2013 4:52 pm

Saludos al forum

Tengo una duda cual seria la mas recomendable.

Si tengo una aplicacion , que seria lo recomendable.
Abrir todas las tablas de la bases de datos al cargar el programa y se cierran al salir de la aplicacion,
o la otra manera seria abrir las tablas de la base de datos por cada opcion que ejecute de mi aplicacion y cerrar las tablas al abandonar la opcion (Que esta es la que usa cuando se maneja base de datos DBF)

cual seria la mas recomentable,

Gracias
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1069
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Pregunta sobre ADo y Tdolphin

Postby wmormar » Wed Apr 10, 2013 6:13 pm

ruben Dario,

En SQL realmente no se abren o cierran, lo unico que se abre es la conexion y en mi caso la hago al inicio del sistema. En el caso de las tablas hago las consultas en el momento necesario y hago la obtención del objeto al inicio del modulo.

Por ejemplo:

oQry := oServer:Query( "SELECT * FROM clientes LIMIT 0" )

y en el modulo solo refresco datos a necesidad.

Por ejemplo:

Checar si existe un cliente
oQry:refresh( "cliente = " + alltrim(str(nCliente)) )
if oQry:reccount() == 0
MSGINFO( "El cliente no existe, verifique...", "INCOS 2013" )
RETURN .f.
endif

En este trozo de codigo checo si existe el cliente y si existe lo dejo cargado en la consulta para su manipulación.

Espero te ayude
William, Morales
Saludos

méxico.sureste
User avatar
wmormar
 
Posts: 1074
Joined: Fri Oct 07, 2005 10:41 pm
Location: México

Re: Pregunta sobre ADo y Tdolphin

Postby ruben Dario » Wed Apr 10, 2013 6:49 pm

Gracias por tu aporte willian

Si en realidad estaba cometiendo un error, la conecion al motor si lo hago al cargar por primera vez

para para hacer la conexion de las tablas lo hacia cada vez que ingresaba a un modulo, a salir cerraba las conexion de las tablas y cada vez que ingresaba a ese modulo tenia que volver hacer la conexion de dichas tablas.
ya veo que no se debe hacer se deja cargado si se requiere se vuelve a usar o si no se existe se carga , caso especifico es cuando estoy haciendo captura de datos.
de acuerdo a tu codigo.
Oye una pregunta que hace cuando se dice LIMIT 0 en tu conexion o se le da un valor 50 etc.
Cuantas conexiones se pueden tener hay algun limited.

oQry := oServer:Query( "SELECT * FROM clientes LIMIT 0" )

y en el modulo solo refresco datos a necesidad.

Por ejemplo:

Gracias
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1069
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Pregunta sobre ADo y Tdolphin

Postby wmormar » Wed Apr 10, 2013 7:15 pm

ruben Dario,

La clausula LIMIT 0 indica que no cargara ningun dato, solo cargara el objeto query, eso hace que tengas el objeto vacio y es bien rapido para entrar al modulo.

El limite de usuarios concurrentes lo determina tu instalacion y sobre todo el equipo servidor que tengas
William, Morales
Saludos

méxico.sureste
User avatar
wmormar
 
Posts: 1074
Joined: Fri Oct 07, 2005 10:41 pm
Location: México

Re: Pregunta sobre ADo y Tdolphin

Postby ruben Dario » Wed Apr 10, 2013 8:11 pm

Gracias por tu informacion,

no me sabia esto que me dices.

La pregunta te la hice mal es cuando Objeto Query puedo tener cargados, cuando estube haciendo pruebas tuve un problema que no podia haver mas de 30. no se si era problema del xharbour

Gracias por tu aclaracion voy hacer los cambios ya que como tu dices es mas rapido y ya estan cargadas las conexiones.

Para el caso que dices oQry := oServer:Query( "SELECT * FROM clientes LIMIT 0" ) que no carga datos pero ya esta cargado el objeto como cargas el datos me puedes dar un ejemplo en base a este ejemplo.
Me imagina si no hay datos se hace un RecordCount() o LastRec()

gracias
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1069
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Pregunta sobre ADo y Tdolphin

Postby wmormar » Thu Apr 11, 2013 1:54 am

ruben Dario,

la cantidad de objetos query no he checado tantas, pues uso y cierro cuando son temporales, no tengo todos los querys abierto. Seria cuestion de probar, aunque con tmysql no tengo problemas.

Por el asunto del objeto query para cargar la consulta aunque vacia, puedes usar todos los etodos que tiene la clase. Ejemplo el recordcount.
William, Morales
Saludos

méxico.sureste
User avatar
wmormar
 
Posts: 1074
Joined: Fri Oct 07, 2005 10:41 pm
Location: México

Re: Pregunta sobre ADo y Tdolphin

Postby ruben Dario » Thu Apr 11, 2013 1:25 pm

Hola Willian al classe tmysql tengo entendido es una que tu creaste en realidad no la he trabajado es similar ee tdolphin.
esta clase ya biene incluida en fwh

como borrar de memoria el objeto query
yo lo hago asi query.close.
esta bien
el Destroy es para borrarlo de memoria
cuando uno tiene una clase al abandonar automativamente corra de memoria la clase.

willian baje de la pagina mysql.lib
esta es la clase , solamente agrego a mi proyecto este lib no se requiere mas nada


Saludos
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1069
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Pregunta sobre ADo y Tdolphin

Postby wmormar » Fri Apr 12, 2013 4:11 am

ruben Dario,

La clase tmysql es nativa de xharbour y donada a las contribuciones. Solo he logrado modificar y adaptar necesidades.

La que libero en forma de LIB en el BLOG, es con las modificaciones.

Eliminas un query de memoria de la siguiente manera:

oQry:end()
oQry := NIL

Asi siempre lo he hecho y no tengo problemas al respecto con memoria.

Liberaré otra LIB en etos dias con otras modificaciones realizadas.

TDolphin es un trabajo de Daniel Garcia que inicialmente se basó en la TMYSQL que tengo, después Daniel se logró mucho y la ha cambiado enormemente.
William, Morales
Saludos

méxico.sureste
User avatar
wmormar
 
Posts: 1074
Joined: Fri Oct 07, 2005 10:41 pm
Location: México

Re: Pregunta sobre ADo y Tdolphin

Postby ruben Dario » Fri Apr 12, 2013 3:06 pm

Gracias Willian por todo.

Voya a implementar en mi programa la clase Tmysql, solamente se necesita la libreria que tu propoercionas o tambien se requiere alguna libreria de Mysql. Sirbe la misma libreria Para Harboour y xHarbour


se ve que es muy sencillo.
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1069
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Pregunta sobre ADo y Tdolphin

Postby wmormar » Sat Apr 13, 2013 2:38 am

ruben Dario,

Se requiere la LIB de tmysql y la de mysql.

Solo sirve para xHarbour.
William, Morales
Saludos

méxico.sureste
User avatar
wmormar
 
Posts: 1074
Joined: Fri Oct 07, 2005 10:41 pm
Location: México


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Antonio Linares and 89 guests