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

fanadonf Messages postés 3 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 12 mai 2010 - 1 mai 2010 à 13:56
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 - 1 mai 2010 à 23:23
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

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
1 mai 2010 à 23:23
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!
0
Rejoignez-nous