FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Meter con Mysql
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Meter con Mysql
Posted: Tue Mar 28, 2023 01:15 AM

Hola a todos colegas,

¿Como se puede hacer un meter cuando se trabaja con mysql?

Por ejemplo necesito contar todas la ventas que ha tenido un articulo durante determinado periodo de tiempo, luego compararlo con el total de venta durante toda la vida en el sistema, y otras operaciones mas que tardan algo de tiempo y me gustaria ver un meter que indique el % ejecutado de la tarea.

Con dbf la cosa es sencillo, con mysql no veo como hacerlo.

¿Alguien me ayuda por favor?

"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Meter con Mysql
Posted: Tue Mar 28, 2023 05:37 PM

José:

Deduzco que alguna de las dos tablas es la primaria y la otra es la consultas para hacer la comparación, si es así

utiliza el meter en el DO WHILE de la tabla primaria.

Otro tip, es que uses la cláusula SUM de MySql para ahorrarte tiempo, solo para ahorro de tiempo.

Si pudieras poner un poco de código para poder apoyarte más.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Meter con Mysql
Posted: Wed Mar 29, 2023 01:54 AM
Pues creo que solo tienes que recorrer el recorset , el resto es un meter normal
Code (fw): Select all Collapse
        oMeter:nTotal = oRs:RecordCount()
        oMeter:Set( 0 )

        oRs:MoveFirst()
        nIni := cValToChar(Lin)
        Do While !oRs:Eof()

            //Las instrucciones dentro de ciclo
            
            
            oRs:MoveNext()
            nContador++
            oMeter:Set( nContador )
        EndDo


        oRs:close()
Espero te sirva
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Meter con Mysql
Posted: Wed Mar 29, 2023 05:48 PM

Muchas gracias leandro y armando.

Aun no tengo el codigo desarrollado para enviarlo como ejemplo, solo quise adelantarme a la duda por si acaso alguien ya lo ha hecho.

El problema es que no trabajo con do while, todo lo hago con consultas y subconsultas.

Cuando tenga el codigo listo, vuelvo a postear en esta mismo hilo, asi se verá más claro lo que quiero.

Un abrazo.

"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Meter con Mysql
Posted: Wed Mar 29, 2023 07:15 PM

Por lo que entiendo, José necesita que una vez lanzada la consulta Mysql, mientras va procesando, vaya dando el avance de cuantos registros va leyendo.

Si usas Dolphin, hay un codeblock que puede servir, pero nunca lo he usado, y no creo que de esa manera puedas obtener el avance de la consulta en el servidor.

Es bOnLoadQuery, habría que verlo.

Igualmente yo creo que si optimizas la base con indices para que la consulta no sea demasiado lenta, no vas a necesitar un Meter.

Una consulta similar, en una tabla con 1000000 de registros tarda 0.094 segundos, si los indices están bien definidos, no creo que necesites mostrar el avance.

Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Meter con Mysql
Posted: Wed Mar 29, 2023 08:35 PM
cmsoft wrote:Por lo que entiendo, José necesita que una vez lanzada la consulta Mysql, mientras va procesando, vaya dando el avance de cuantos registros va leyendo.
Si usas Dolphin, hay un codeblock que puede servir, pero nunca lo he usado, y no creo que de esa manera puedas obtener el avance de la consulta en el servidor.
Es bOnLoadQuery, habría que verlo.
Igualmente yo creo que si optimizas la base con indices para que la consulta no sea demasiado lenta, no vas a necesitar un Meter.
Una consulta similar, en una tabla con 1000000 de registros tarda 0.094 segundos, si los indices están bien definidos, no creo que necesites mostrar el avance.
Saludos estimado amigo césar.

Estas en lo correcto. Eso es lo que necesito.

Tambien estas en lo cierto cuando hablas de la velocidad de las consultas, pero yo trabajo un par de sistemas con los datos en la nube, y en mi pais el servicio de internet es uno de los peores del mundo.

A veces mientras el programa trata de conectar al servidor remoto, cae en un ciclo de espera donde el usuario queda en el limbo y no sabe si el programa se "colgó" o se esta ejecutando algo.

Seguramente el meter sera inmecesario en muchas ocasiones, pero en otras por la lentitud de la conexion podria dar al usuario por lo menos un indicio de que esta tratando de conectar, aunque no avance...

De todas maneras solo por saber como poder hacerlo ya me entró curiosidad, quizas se vuelva molesto que la mayoria de las veces el meter sea una molestia por lo rapido que se ejecute; ya veremos despues de eso si se deja o se quita.

No es malo aprender algo que pudiera hacer falta.

Gracias por tu idea.
"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Meter con Mysql
Posted: Thu Mar 30, 2023 12:01 PM

Para ir informando al usuario de lo que la aplicación está haciendo te recomiendo el uso de la function MsgRun

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces

Continue the discussion