Meter con Mysql

Meter con Mysql

Postby JoseAlvarez » Tue Mar 28, 2023 1: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.
User avatar
JoseAlvarez
 
Posts: 797
Joined: Sun Nov 09, 2014 5:01 pm

Re: Meter con Mysql

Postby Armando » Tue Mar 28, 2023 5: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
User avatar
Armando
 
Posts: 3229
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Meter con Mysql

Postby leandro » Wed Mar 29, 2023 1:54 am

Pues creo que solo tienes que recorrer el recorset , el resto es un meter normal

Code: Select all  Expand view  RUN

        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

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Meter con Mysql

Postby JoseAlvarez » Wed Mar 29, 2023 5: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.
User avatar
JoseAlvarez
 
Posts: 797
Joined: Sun Nov 09, 2014 5:01 pm

Re: Meter con Mysql

Postby cmsoft » Wed Mar 29, 2023 7: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.
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Meter con Mysql

Postby JoseAlvarez » Wed Mar 29, 2023 8: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.
User avatar
JoseAlvarez
 
Posts: 797
Joined: Sun Nov 09, 2014 5:01 pm

Re: Meter con Mysql

Postby cnavarro » 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
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 52 guests