PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → WD21 - Optimize HAdd SQLite
WD21 - Optimize HAdd SQLite
Iniciado por guest, 13,jul. 2017 12:44 - 3 respuestas
Publicado el 13,julio 2017 - 12:44
Hi all,
my application use MySql but i have create a procedure that create SQLite data file.
This file is send to an android device.

There is a method to optimize the HAdd.

HCreationIfNotFound(ArticoliMobile) HDeleteAll(ArticoliMobile) HExecuteQuery(QRY_WEB_Leggi_Articoli,hQueryDefault,tabvar.tava_anno_lav,tabvar.tava_dep_prin,gsAzienda,20000101000000) HReadFirst(QRY_WEB_Leggi_Articoli) PROGBAR_Progresso..MaxValue=HNbRec(QRY_WEB_Leggi_Articoli) STC_TxtStatus="Compressione Articoli..." WHILE NOT HOut(QRY_WEB_Leggi_Articoli) PROGBAR_Progresso..Value+=1 ArticoliMobile.Azienda=QRY_WEB_Leggi_Articoli.AI_AZIENDA ArticoliMobile.Codice=QRY_WEB_Leggi_Articoli.ai_codiarti ArticoliMobile.Descrizione=QRY_WEB_Leggi_Articoli.AI_DESCRIZI ArticoliMobile.CodiceIVA=QRY_WEB_Leggi_Articoli.AI_CODICIVA ArticoliMobile.Listino1=QRY_WEB_Leggi_Articoli.AI_LIS_EURO1 ArticoliMobile.Listino2=QRY_WEB_Leggi_Articoli.AI_LIS_EURO2 ArticoliMobile.Listino3=QRY_WEB_Leggi_Articoli.AI_LIS_EURO3 ArticoliMobile.Listino4=QRY_WEB_Leggi_Articoli.AI_LIS_EURO4 ArticoliMobile.Listino5=QRY_WEB_Leggi_Articoli.AI_LIS_EURO5 ArticoliMobile.CateMerc=QRY_WEB_Leggi_Articoli.AI_CATEMERC ArticoliMobile.FlNetto=QRY_WEB_Leggi_Articoli.AI_FL_NETTO ArticoliMobile.GrupScont=QRY_WEB_Leggi_Articoli.ai_grupscon ArticoliMobile.Note=QRY_WEB_Leggi_Articoli.AI_NOTE ArticoliMobile.Barcode=QRY_WEB_Leggi_Articoli.ai_barcode ArticoliMobile.UM1=QRY_WEB_Leggi_Articoli.AI_UNIMIS_1 ArticoliMobile.DataValLis1=QRY_WEB_Leggi_Articoli.AI_DAT_VALI1 ArticoliMobile.DataValLis2=QRY_WEB_Leggi_Articoli.AI_DAT_VALI2 ArticoliMobile.DataValLis3=QRY_WEB_Leggi_Articoli.AI_DAT_VALI3 ArticoliMobile.DataValLis4=QRY_WEB_Leggi_Articoli.AI_DAT_VALI4 ArticoliMobile.DataValLis5=QRY_WEB_Leggi_Articoli.AI_DAT_VALI5 ArticoliMobile.ArtDiRifer=QRY_WEB_Leggi_Articoli.ai_art_originale ArticoliMobile.Costo=QRY_WEB_Leggi_Articoli.AI_COS_EURO ArticoliMobile.Marca=QRY_WEB_Leggi_Articoli.AI_CAPOCODI HAdd(ArticoliMobile) HReadNext(QRY_WEB_Leggi_Articoli) MultitaskRedraw(WIN_Web_InviaDatiMobile) END HFreeQuery(QRY_WEB_Leggi_Articoli) PROGBAR_Progresso..Value=0
Publicado el 13,julio 2017 - 13:07
Giovanni,

use HTransactionStart() at the begin and HTrancsactionEnd() after all your HAdd-s are done. This will speed up a lot.
Publicado el 13,julio 2017 - 13:16
Otherwise Windev will execute EVERY HAdd within the scope of a transaction, with the additional overhead.
With a few records you will not notice the difference, but when it comes to hundreds or 1000+ is will slow down significally
Publicado el 13,julio 2017 - 17:14
Perfect.... thanks Arie