Mysql ExecuteNonQuery() et blocage de l'appli c#

Signaler
Messages postés
3
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
12 mai 2010
-
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
-
Bonjour,

Débutant en c# je tombe sur le problème suivant,
je lance des requêtes de supression de données sur des tables mysql et durant l'execution je désirerai
avoir l'état d'avancement de la supression, pour le moment je calcul avant et après le nombre de "dossiers" et j'aimerai savoir cela en direct, car l'utilisateur à l'impression que l'appli est bloquée quand il lance une purge de dossier.. une idée ?

un exemple de requête :
//Supprime les jours antérieurs a la date de purge dans le meme mois et la meme année*************************************
                    RqtSuppLigne "DELETE FROM lignecontrol WHERE NumBloc IN(SELECT  b.NumBloc FROM bloccontrol b, rapport r WHERE  r.NumRapport b.NumRapport AND r.Annee=" + AnneePurge + " AND Mois=" + MoisPurge + " AND Jour<" + JourPurge + ")";
                    RqtSuppBloc "DELETE FROM bloccontrol WHERE NumRapport IN(SELECT NumRapport FROM rapport WHERE Annee" + AnneePurge + " AND Mois=" + MoisPurge + " AND Jour<" + JourPurge + ")";
                    RqtSuppCom "DELETE FROM commentaire WHERE NumRapport IN (SELECT NumRapport FROM rapport WHERE Annee" + AnneePurge + " AND Mois=" + MoisPurge + " AND Jour<" + JourPurge + ")";
                    RqtSuppRapp = "DELETE FROM rapport WHERE Annee=" + AnneePurge + " AND Mois=" + MoisPurge + " AND Jour<" + JourPurge;







                    //sup Ligne
                    tmpComm.CommandText = RqtSuppLigne;
                    tmpComm.ExecuteNonQuery();
                    //sup Bloc
                    tmpComm.CommandText = RqtSuppBloc;
                    tmpComm.ExecuteNonQuery();
                    //sup Comm
                    tmpComm.CommandText = RqtSuppCom;
                    tmpComm.ExecuteNonQuery();
                    //sup Rap
                    tmpComm.CommandText = RqtSuppRapp;
                    tmpComm.ExecuteNonQuery();


Une idée pour résoudre cela ?

Merci par avance.

1 réponse

Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
29
Bonsoir

je ne connais pas bien MySql, mais si le moteur est aussi peu bavard que MsSql, alors tu n'as pas d'autre solution que d'afficher quelque chose qui bouge (sablier, petite video, barre de progression avec marquee ...)
car aucun evenement n'est emis par le moteur pendant l'execution d'une requete.



C# is amazing, enjoy it!