tDolphin + Progress Bar

tDolphin + Progress Bar

Postby Leo » Mon Apr 08, 2013 6:45 pm

Amigos del foro, me dirijo a ustedes por que tengo la siguiente duda, además que no se mucho sql.

Tengo que generar una tabla histórica de transacciones, la cual tiene 182 campos, normalmente el archivo plano del cual recibo las transacciones es bastante grande, unos 12500 registros diarios, el cual es almacenado diariamente en una tabla MySQL que contiene los movimientos del mes, obviamente al llegar el termino de cada mes, este se cierra y pasa al histórico, el cual es otra tabla MySQL, la pregunta es, cómo puedo aplicar una progress bar a un Query, puesto que necesito que el usuario pueda ver el progreso del proceso de actualización de la tabla histórica. Trabajo con TDolphin, y me resulta muy lento el proceso de carga aplicando el metodh Save().

Existe alguna fórmula para presentar la progress bar en un Query como INSERT INTO TABLE (field1, field2) VALUES (value1, value2)?

Agradeceré mucho las respuestas.
Last edited by Leo on Mon Apr 08, 2013 10:14 pm, edited 1 time in total.
Fivewin 12.04 + xHarbour 1.2.1 + BCC582

Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Leo
 
Posts: 66
Joined: Thu Jan 03, 2013 6:13 pm

Re: tDolphin + Progress Bar

Postby sysctrl2 » Mon Apr 08, 2013 7:03 pm

Friend,
no usas el methodo Save , no se recomienda para guardar masivamente registros,
utiliza sentencias mysql vas a mejorar mucho la velocidad,
saludos..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 951
Joined: Mon Feb 05, 2007 7:15 pm

Re: tDolphin + Progress Bar

Postby Leo » Mon Apr 08, 2013 7:21 pm

Se que el method save es lento, pero que otra cosa puedo usar para hacer visible el progreso de la operación al usuario?
Fivewin 12.04 + xHarbour 1.2.1 + BCC582

Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Leo
 
Posts: 66
Joined: Thu Jan 03, 2013 6:13 pm

Re: tDolphin + Progress Bar

Postby sysctrl2 » Mon Apr 08, 2013 7:40 pm

Si estas insertanto, de uno en uno,
quizas con una oDlg NOWAIT
e imprimes,

oDlg:say( 10, 10 , "Reg." )

de esta forma lo ve el usuario,

con progres bar, podria ser pero habria que ver el como jeje.

saludos.
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 951
Joined: Mon Feb 05, 2007 7:15 pm

Re: tDolphin + Progress Bar

Postby Bayron » Mon Apr 08, 2013 9:20 pm

Si es que recibes las transacciones en un archivo plano (imagino te refieres a un .txt o similar), y suponiendo que cada linea es un query diferente:

deberias abrir el archivo con MemoRead()
cuenta el numero de lineas con MLCOUNT()
Ejecuta linea por linea usando el comando For y MemoLine()
En base a esto refresca el Meter cada 1% por ejemplo...

Para el uso de estos comando ve a:
http://www.ousob.com/ng/53guide/
Last edited by Bayron on Mon Apr 08, 2013 9:22 pm, edited 1 time in total.
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
User avatar
Bayron
 
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: tDolphin + Progress Bar

Postby Leo » Mon Apr 08, 2013 9:20 pm

He probado con la siguiente Qry:

Code: Select all  Expand view
Function Insert_Record(oQM,oQH)
Local oQI
Local M_Orden_Flete,M_Plaza_Origen,M_Plaza_Destino,M_Ciudad_Origen,M_Ciudad_Destino,M_Peso_GRS,M_Via,M_Tipo_Envio,M_Codigo_Cliente,;
       M_Razon_Social,M_Estado_OrdenFlete,M_Estado_Tracking,M_Fec01,M_Fec33,M_Fec18,M_Fec93,M_R93,M_Fec51,M_R51,M_Fec71,M_R71,M_Fec72,;
      M_R72,M_Fec73,M_R73,M_Fec75,M_Fec02,M_R02,M_Fec09,M_Fec56,M_Fec03,M_R03,M_Fec10,M_R10,M_Fec76,M_R76,M_Fec04,M_R04,M_R33,;
        M_Remitente,M_Domicilio_Remite,M_Destinatario,M_Direccion_Destino,M_Descripcion,M_Valor_Declarado,M_Guia,M_Observaciones,;
        M_Receptor,M_Rut_Receptor,M_D_V,M_Peso_Cubi,M_Limite,M_Usu001,M_H001,M_Usu033,M_H033,M_Usu093,M_H093,M_Usu018,M_H018,;
        M_Fec019,M_Usu019,M_H019,M_Usu002,M_H002,M_Usu003,M_H003,M_Usu010,M_H010,M_Fec011,M_Fec015,M_Fec020,M_Fec021,M_Fec035,M_Fec037,;
        M_Fec038,M_Fec039,M_Fec040,M_Fec041,M_Fec042,M_Fec043,M_Usu056,M_H056,M_Fec059,M_Usu075,M_H075,M_H005,M_Usu005,M_Fec031,;
        M_Usu071,M_H071,M_Usu073,M_H073,M_Fec053,M_Fec080,M_H072,M_Usu072,M_H009,M_Usu009,M_Fec058,M_H058,M_Usu058,M_Fec028,M_Fec029,;
        M_Fec030,M_Fec036,M_Fec044,M_H044,M_Usu044,M_Fec045,M_H045,M_Usu045,M_Fec047,M_H047,M_Usu047,M_Fec048,M_H048,M_Usu048,M_Fec049,;
        M_H049,M_Usu049,M_Fec050,M_H050,M_Usu050,M_H051,M_Usu051,M_Fec052,M_H052,M_Usu052,M_Fec017,M_H017,M_Usu017,M_H076,M_Usu076,;
        M_Fec077,M_H077,M_Usu077,M_Fec078,M_H078,M_Usu078,M_H004,M_Usu004,M_Fec006,M_H006,M_Usu006,M_Fec008,M_H008,M_Usu008,M_Fec012,;
        M_H012,M_Usu012,M_Fec016,M_H016,M_Usu016,M_Fec022,M_H022,M_Usu022,M_Fec023,M_H023,M_Usu023,M_Fec024,M_H024,M_Usu024,M_Fec026,;
        M_H026,M_Usu026,M_Fec027,M_H027,M_Usu027,M_Fec055,M_H055,M_Usu055,M_Fec007,M_H007,M_Usu007,M_Fec013,M_H013,M_Usu013,M_Fec014,;
      M_H014,M_Usu014,M_Can_Bul

M_Orden_Flete:=oQry:Orden_Flete
M_Plaza_Origen:=oQry:Plaza_Origen
M_Plaza_Destino:=oQry:Plaza_Destino
M_Ciudad_Origen:=oQry:Ciudad_Origen
M_Ciudad_Destino:=oQry:Ciudad_Destino
M_Peso_GRS:=oQry:Peso_GRS
M_Via:=oQry:Via
M_Tipo_Envio:=oQry:Tipo_Envio
M_Codigo_Cliente:=oQry:Codigo_Cliente
M_Razon_Social:=oQry:Razon_Social
M_Estado_OrdenFlete:=oQry:Estado_OrdenFlete
M_Estado_Tracking:=oQry:Estado_Tracking
M_Fec01:=oQry:Fec01
M_Fec33:=oQry:Fec33
M_Fec18:=oQry:Fec18
M_Fec93:=oQry:Fec93
M_R93:=oQry:R93
M_Fec51:=oQry:Fec51
M_R51:=oQry:R51
M_Fec71:=oQry:Fec71
M_R71:=oQry:R71
M_Fec72:=oQry:Fec72
M_R72:=oQry:R72
M_Fec73:=oQry:Fec73
M_R73:=oQry:R73
M_Fec75:=oQry:Fec75
M_Fec02:=oQry:Fec02
M_R02:=oQry:R02
M_Fec09:=oQry:Fec09
M_Fec56:=oQry:Fec56
M_Fec03:=oQry:Fec03
M_R03:=oQry:R03
M_Fec10:=oQry:Fec10
M_R10:=oQry:R10
M_Fec76:=oQry:Fec76
M_R76:=oQry:R76
M_Fec04:=oQry:Fec04
M_R04:=oQry:R04
M_R33:=oQry:R33
M_Remitente:=oQry:Remitente
M_Domicilio_Remite:=oQry:Domicilio_Remite
M_Destinatario:=oQry:Destinatario
M_Direccion_Destino:=oQry:Direccion_Destino
M_Descripcion:=oQry:Descripcion
M_Valor_Declarado:=oQry:Valor_Declarado
M_Guia:=oQry:Guia
M_Observaciones:=oQry:Observaciones
M_Receptor:=oQry:Receptor
M_Rut_Receptor:=oQry:Rut_Receptor
M_D_V:=oQry:D_V
M_Peso_Cubi:=oQry:Peso_Cubi
M_Limite:=oQry:Limite
M_Usu001:=oQry:Usu001
M_H001:=oQry:H001
M_Usu033:=oQry:Usu033
M_H033:=oQry:H033
M_Usu093:=oQry:Usu093
M_H093:=oQry:H093
M_Usu018:=oQry:Usu018
M_H018:=oQry:H018
M_Fec019:=oQry:Fec019
M_Usu019:=oQry:Usu019
M_H019:=oQry:H019
M_Usu002:=oQry:Usu002
M_H002:=oQry:H002
M_Usu003:=oQry:Usu003
M_H003:=oQry:H003
M_Usu010:=oQry:Usu010
M_H010:=oQry:H010
M_Fec011:=oQry:Fec011
M_Fec015:=oQry:Fec015
M_Fec020:=oQry:Fec020
M_Fec021:=oQry:Fec021
M_Fec035:=oQry:Fec035
M_Fec037:=oQry:Fec037
M_Fec038:=oQry:Fec038
M_Fec039:=oQry:Fec039
M_Fec040:=oQry:Fec040
M_Fec041:=oQry:Fec041
M_Fec042:=oQry:Fec042
M_Fec043:=oQry:Fec043
M_Usu056:=oQry:Usu056
M_H056:=oQry:H056
M_Fec059:=oQry:Fec059
M_Usu075:=oQry:Usu075
M_H075:=oQry:H075
M_H005:=oQry:H005
M_Usu005:=oQry:Usu005
M_Fec031:=oQry:Fec031
M_Usu071:=oQry:Usu071
M_H071:=oQry:H071
M_Usu073:=oQry:Usu073
M_H073:=oQry:H073
M_Fec053:=oQry:Fec053
M_Fec080:=oQry:Fec080
M_H072:=oQry:H072
M_Usu072:=oQry:Usu072
M_H009:=oQry:H009
M_Usu009:=oQry:Usu009
M_Fec058:=oQry:Fec058
M_H058:=oQry:H058
M_Usu058:=oQry:Usu058
M_Fec028:=oQry:Fec028
M_Fec029:=oQry:Fec029
M_Fec030:=oQry:Fec030
M_Fec036:=oQry:Fec036
M_Fec044:=oQry:Fec044
M_H044:=oQry:H044
M_Usu044:=oQry:Usu044
M_Fec045:=oQry:Fec045
M_H045:=oQry:H045
M_Usu045:=oQry:Usu045
M_Fec047:=oQry:Fec047
M_H047:=oQry:H047
M_Usu047:=oQry:Usu047
M_Fec048:=oQry:Fec048
M_H048:=oQry:H048
M_Usu048:=oQry:Usu048
M_Fec049:=oQry:Fec049
M_H049:=oQry:H049
M_Usu049:=oQry:Usu049
M_Fec050:=oQry:Fec050
M_H050:=oQry:H050
M_Usu050:=oQry:Usu050
M_H051:=oQry:H051
M_Usu051:=oQry:Usu051
M_Fec052:=oQry:Fec052
M_H052:=oQry:H052
M_Usu052:=oQry:Usu052
M_Fec017:=oQry:Fec017
M_H017:=oQry:H017
M_Usu017:=oQry:Usu017
M_H076:=oQry:H076
M_Usu076:=oQry:Usu076
M_Fec077:=oQry:Fec077
M_H077:=oQry:H077
M_Usu077:=oQry:Usu077
M_Fec078:=oQry:Fec078
M_H078:=oQry:H078
M_Usu078:=oQry:Usu078
M_H004:=oQry:H004
M_Usu004:=oQry:Usu004
M_Fec006:=oQry:Fec006
M_H006:=oQry:H006
M_Usu006:=oQry:Usu006
M_Fec008:=oQry:Fec008
M_H008:=oQry:H008
M_Usu008:=oQry:Usu008
M_Fec012:=oQry:Fec012
M_H012:=oQry:H012
M_Usu012:=oQry:Usu012
M_Fec016:=oQry:Fec016
M_H016:=oQry:H016
M_Usu016:=oQry:Usu016
M_Fec022:=oQry:Fec022
M_H022:=oQry:H022
M_Usu022:=oQry:Usu022
M_Fec023:=oQry:Fec023
M_H023:=oQry:H023
M_Usu023:=oQry:Usu023
M_Fec024:=oQry:Fec024
M_H024:=oQry:H024
M_Usu024:=oQry:Usu024
M_Fec026:=oQry:Fec026
M_H026:=oQry:H026
M_Usu026:=oQry:Usu026
M_Fec027:=oQry:Fec027
M_H027:=oQry:H027
M_Usu027:=oQry:Usu027
M_Fec055:=oQry:Fec055
M_H055:=oQry:H055
M_Usu055:=oQry:Usu055
M_Fec007:=oQry:Fec007
M_H007:=oQry:H007
M_Usu007:=oQry:Usu007
M_Fec013:=oQry:Fec013
M_H013:=oQry:H013
M_Usu013:=oQry:Usu013
M_Fec014:=oQry:Fec014
M_H014:=oQry:H014
M_Usu014:=oQry:Usu014
M_Can_Bul:=oQry:Can_Bul

oQI:=oConected:Query( "Insert Into historico (Orden_Flete,Plaza_Origen,Plaza_Destino,Ciudad_Origen,Ciudad_Destino,Peso_GRS,Via,Tipo_Envio,Codigo_Cliente,Razon_Social,Estado_OrdenFlete,Estado_Tracking,Fec01,Fec33,Fec18,Fec93,R93,Fec51,R51,Fec71,R71,Fec72,R72,Fec73,R73,Fec75,Fec02,R02,Fec09,Fec56,Fec03,R03,Fec10,R10,Fec76,R76,Fec04,R04,R33,Remitente,Domicilio_Remite,Destinatario,Direccion_Destino,Descripcion,Valor_Declarado,Guia,Observaciones,Receptor,Rut_Receptor,D_V,Peso_Cubi,Limite,Usu001,H001,Usu033,H033,Usu093,H093,Usu018,H018,Fec019,Usu019,H019,Usu002,H002,Usu003,H003,Usu010,H010,Fec011,Fec015,Fec020,Fec021,Fec035,Fec037,Fec038,Fec039,Fec040,Fec041,Fec042,Fec043,Usu056,H056,Fec059,Usu075,H075,H005,Usu005,Fec031,Usu071,H071,Usu073,H073,Fec053,Fec080,H072,Usu072,H009,Usu009,Fec058,H058,Usu058,Fec028,Fec029,Fec030,Fec036,Fec044,H044,Usu044,Fec045,H045,Usu045,Fec047,H047,Usu047,Fec048,H048,Usu048,Fec049,H049,Usu049,Fec050,H050,Usu050,H051,Usu051,Fec052,H052,Usu052,Fec017,H017,Usu017,H076,Usu076,Fec077,H077,Usu077,Fec078,H078,Usu078,H004,Usu004,Fec006,H006,Usu006,Fec008,H008,Usu008,Fec012,H012,Usu012,Fec016,H016,Usu016,Fec022,H022,Usu022,Fec023,H023,Usu023,Fec024,H024,Usu024,Fec026,H026,Usu026,Fec027,H027,Usu027,Fec055,H055,Usu055,Fec007,H007,Usu007,Fec013,H013,Usu013,Fec014,H014,Usu014,Can_Bul) Values ("+"'"+M_Orden_Flete+"',"+"'"+M_Plaza_Origen+"',"+"'"+M_Plaza_Destino+"',"+"'"+M_Ciudad_Origen+"',"+"'"+M_Ciudad_Destino+"',"+"'"+M_Peso_GRS+"',"+"'"+M_Via+"',"+"'"+M_Tipo_Envio+"',"+"'"+M_Codigo_Cliente+"',"+"'"+M_Razon_Social+"',"+"'"+M_Estado_OrdenFlete+"',"+"'"+M_Estado_Tracking+"',"+"'"+M_Fec01+"',"+"'"+M_Fec33+"',"+"'"+M_Fec18+"',"+"'"+M_Fec93+"',"+"'"+M_R93+"',"+"'"+M_Fec51+"',"+"'"+M_R51+"',"+"'"+M_Fec71+"',"+"'"+M_R71+"',"+"'"+M_Fec72+"',"+"'"+M_R72+"',"+"'"+M_Fec73+"',"+"'"+M_R73+"',"+"'"+M_Fec75+"',"+"'"+M_Fec02+"',"+"'"+M_R02+"',"+"'"+M_Fec09+"',"+"'"+M_Fec56+"',"+"'"+M_Fec03+"',"+"'"+M_R03+"',"+"'"+M_Fec10+"',"+"'"+M_R10+"',"+"'"+M_Fec76+"',"+"'"+M_R76+"',"+"'"+M_Fec04+"',"+"'"+M_R04+"',"+"'"+M_R33+"',"+"'"+M_Remitente+"',"+"'"+M_Domicilio_Remite+"',"+"'"+M_Destinatario+"',"+"'"+M_Direccion_Destino+"',"+"'"+M_Descripcion+"',"+"'"+M_Valor_Declarado+"',"+"'"+M_Guia+"',"+"'"+M_Observaciones+"',"+"'"+M_Receptor+"',"+"'"+M_Rut_Receptor+"',"+"'"+M_D_V+"',"+"'"+M_Peso_Cubi+"',"+"'"+M_Limite+"',"+"'"+M_Usu001+"',"+"'"+M_H001+"',"+"'"+M_Usu033+"',"+"'"+M_H033+"',"+"'"+M_Usu093+"',"+"'"+M_H093+"',"+"'"+M_Usu018+"',"+"'"+M_H018+"',"+"'"+M_Fec019+"',"+"'"+M_Usu019+"',"+"'"+M_H019+"',"+"'"+M_Usu002+"',"+"'"+M_H002+"',"+"'"+M_Usu003+"',"+"'"+M_H003+"',"+"'"+M_Usu010+"',"+"'"+M_H010+"',"+"'"+M_Fec011+"',"+"'"+M_Fec015+"',"+"'"+M_Fec020+"',"+"'"+M_Fec021+"',"+"'"+M_Fec035+"',"+"'"+M_Fec037+"',"+"'"+M_Fec038+"',"+"'"+M_Fec039+"',"+"'"+M_Fec040+"',"+"'"+M_Fec041+"',"+"'"+M_Fec042+"',"+"'"+M_Fec043+"',"+"'"+M_Usu056+"',"+"'"+M_H056+"',"+"'"+M_Fec059+"',"+"'"+M_Usu075+"',"+"'"+M_H075+"',"+"'"+M_H005+"',"+"'"+M_Usu005+"',"+"'"+M_Fec031+"',"+"'"+M_Usu071+"',"+"'"+M_H071+"',"+"'"+M_Usu073+"',"+"'"+M_H073+"',"+"'"+M_Fec053+"',"+"'"+M_Fec080+"',"+"'"+M_H072+"',"+"'"+M_Usu072+"',"+"'"+M_H009+"',"+"'"+M_Usu009+"',"+"'"+M_Fec058+"',"+"'"+M_H058+"',"+"'"+M_Usu058+"',"+"'"+M_Fec028+"',"+"'"+M_Fec029+"',"+"'"+M_Fec030+"',"+"'"+M_Fec036+"',"+"'"+M_Fec044+"',"+"'"+M_H044+"',"+"'"+M_Usu044+"',"+"'"+M_Fec045+"',"+"'"+M_H045+"',"+"'"+M_Usu045+"',"+"'"+M_Fec047+"',"+"'"+M_H047+"',"+"'"+M_Usu047+"',"+"'"+M_Fec048+"',"+"'"+M_H048+"',"+"'"+M_Usu048+"',"+"'"+M_Fec049+"',"+"'"+M_H049+"',"+"'"+M_Usu049+"',"+"'"+M_Fec050+"',"+"'"+M_H050+"',"+"'"+M_Usu050+"',"+"'"+M_H051+"',"+"'"+M_Usu051+"',"+"'"+M_Fec052+"',"+"'"+M_H052+"',"+"'"+M_Usu052+"',"+"'"+M_Fec017+"',"+"'"+M_H017+"',"+"'"+M_Usu017+"',"+"'"+M_H076+"',"+"'"+M_Usu076+"',"+"'"+M_Fec077+"',"+"'"+M_H077+"',"+"'"+M_Usu077+"',"+"'"+M_Fec078+"',"+"'"+M_H078+"',"+"'"+M_Usu078+"',"+"'"+M_H004+"',"+"'"+M_Usu004+"',"+"'"+M_Fec006+"',"+"'"+M_H006+"',"+"'"+M_Usu006+"',"+"'"+M_Fec008+"',"+"'"+M_H008+"',"+"'"+M_Usu008+"',"+"'"+M_Fec012+"',"+"'"+M_H012+"',"+"'"+M_Usu012+"',"+"'"+M_Fec016+"',"+"'"+M_H016+"',"+"'"+M_Usu016+"',"+"'"+M_Fec022+"',"+"'"+M_H022+"',"+"'"+M_Usu022+"',"+"'"+M_Fec023+"',"+"'"+M_H023+"',"+"'"+M_Usu023+"',"+"'"+M_Fec024+"',"+"'"+M_H024+"',"+"'"+M_Usu024+"',"+"'"+M_Fec026+"',"+"'"+M_H026+"',"+"'"+M_Usu026+"',"+"'"+M_Fec027+"',"+"'"+M_H027+"',"+"'"+M_Usu027+"',"+"'"+M_Fec055+"',"+"'"+M_H055+"',"+"'"+M_Usu055+"',"+"'"+M_Fec007+"',"+"'"+M_H007+"',"+"'"+M_Usu007+"',"+"'"+M_Fec013+"',"+"'"+M_H013+"',"+"'"+M_Usu013+"',"+"'"+M_Fec014+"',"+"'"+M_H014+"',"+"'"+M_Usu014+"',"+Str(M_Can_Bul)+")" )
oQI:End()
Return Nil

y sólo agrega el primer registro, ¿qué estoy haciendo mal?
Fivewin 12.04 + xHarbour 1.2.1 + BCC582

Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Leo
 
Posts: 66
Joined: Thu Jan 03, 2013 6:13 pm

Re: tDolphin + Progress Bar

Postby Adolfo » Mon Apr 08, 2013 10:04 pm

Leo

Si ya tienes los datos en un archivo plano, un txt supongo, porque no usas el LOAD DATA como en el siguiente post.
http://forums.fivetechsupport.com/viewtopic.php?f=6&t=25959
Es rapidisimo, eficiente y si tienes bien definido el txt. Para 12500 lineas, algo como 6 segundos, por lo menos en mi caso con un server Linux, algunas veces en Windows y modo local se demora mas, ni idea poruqe, pero como es win, no me preocupo.

Saludos
Desde Chile
Adolfo
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1650
User avatar
Adolfo
 
Posts: 846
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Re: tDolphin + Progress Bar

Postby Leo » Mon Apr 08, 2013 10:11 pm

Repito, no es un archivo plano, cuando ejecuto el cierre mensual de transacciones, debo traspasar de la tabla MySQL de transacciones del mes a la tabla MySQL de transacciones históricas.
Fivewin 12.04 + xHarbour 1.2.1 + BCC582

Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Leo
 
Posts: 66
Joined: Thu Jan 03, 2013 6:13 pm

Re: tDolphin + Progress Bar

Postby Daniel Garcia-Gil » Mon Apr 08, 2013 10:44 pm

Hola

lo ideal y mas rapido es que hagas cargas masivas en una sola sentencia... te explico como puedes hacer el proceso

enviaras cada sentencia lotes de por ejemplo 500 o 1000 registros, como lo haces? usa el metodo Insert de la clase TDolphinSrv

calculas la cantidad de registros a enviar que te servira para el control de progress bar
vas cargando los datos en el arreglo multidimencional (por ejemplo 500 registro de una sola vez) que usara el metodo Insert,
envias el insert, borras el arreglo y repites el proceso hasta terminar

ejemplo de uso de insert, envia tres registro de una sola vez

Code: Select all  Expand view
aColumns = { "date", "category", "event_id" }
aValues = { { CToD( '09-03-2008' ), 'Q', NIL }, { CToD( '09-06-2008' ), 'Q', NIL } ,{ CToD( '09-09-2008' ), 'T', NIL }}
oServer:Insert( "NombreDeLaTabla", aColumns, aValues )
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: tDolphin + Progress Bar

Postby Leo » Mon Apr 08, 2013 10:47 pm

Eso es nuevo, lo probraré y luego comento. Sólo me queda una duda, cómo genero un array con los valores de los campos de la otra tabla que es idéntica a la tabla a la que voy a vaciar la información?, además las "Q" y "T" que hay en el array de las columnas, qué significan?
Fivewin 12.04 + xHarbour 1.2.1 + BCC582

Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Leo
 
Posts: 66
Joined: Thu Jan 03, 2013 6:13 pm

Re: tDolphin + Progress Bar

Postby wmormar » Mon Apr 08, 2013 11:13 pm

Leo,

Si es desde consulta mysql no e veo problema.

si es desde mysql.

INSERT INTO tabla (id, value) (SELECT id, value FROM tabla2)

y con eso pasaras la nformacion de tabla
William, Morales
Saludos

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

Re: tDolphin + Progress Bar

Postby Daniel Garcia-Gil » Mon Apr 08, 2013 11:49 pm

Leo wrote:Eso es nuevo, lo probraré y luego comento. Sólo me queda una duda, cómo genero un array con los valores de los campos de la otra tabla que es idéntica a la tabla a la que voy a vaciar la información?, además las "Q" y "T" que hay en el array de las columnas, qué significan?


Hola
esas Q y T estan en el array de los valores no de las columnas

son los valores que tomaran los campos

para el primer insert los valores seran

{ "date", "category", "event_id" }
date = CToD( '09-03-2008' )
category = 'Q'
event_id = NIL

si te fijas hay 3 columnas en la tabla ( { "date", "category", "event_id" })
y tres valores para cada una
{ CToD( '09-03-2008' ), 'Q', NIL } (1)
{ CToD( '09-06-2008' ), 'Q', NIL } (2)
{ CToD( '09-09-2008' ), 'T', NIL } (3)

y esto no es nuevo esta desde el principio de la clase

wmormar wrote:Leo,

Si es desde consulta mysql no e veo problema.

si es desde mysql.

INSERT INTO tabla (id, value) (SELECT id, value FROM tabla2)

y con eso pasaras la nformacion de tabla


de esta forma sera muy rapido, pero lamentablemente no contaras con la progress bar, aparte si se demora un poco mas la sentencia, sea por lo que sea, lentitud del internet, sea muy grande la cantidad de registros, si no lo haces en un proceso en background, la aplicacion podria "no responder" hasta terminar el proceso, pero esta sugerencia que te aporta william es muy rapida
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: tDolphin + Progress Bar

Postby wmormar » Tue Apr 09, 2013 6:26 am

Daniel Garcia-Gil,

De la manera comentada, se podria usar un msgrun, el progressbar definitivamente no funciona, y lo favorable de esto es que todo se ejecuta desde el servidor aun siendo de manera remota.
William, Morales
Saludos

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

Re: tDolphin + Progress Bar

Postby Leo » Tue Apr 09, 2013 12:51 pm

Daniel, William, Les agradezco mucho los post que me han hecho, probaré los dos métodos, ya que el que propone Daniel, le permite al usuario ver un estado de avance, en este momento lo estoy probando y funciona muy bien, sólo que algo lento en forma remota, en cuanto a tiempo de proceso, tengo que probar la solución propuesta por William. De verdad me han ayudado una enormidad. Cuando termine con las pruebas de mi pequeño archivo de 87864 registros, les comentaré los resultados. Otra vez, Muchas Gracias.
Fivewin 12.04 + xHarbour 1.2.1 + BCC582

Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Leo
 
Posts: 66
Joined: Thu Jan 03, 2013 6:13 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 92 guests