IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Bloquer un programme tant qu'un champs n'est pas a 1


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de jlm22
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2010
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 203
    Par défaut Bloquer un programme tant qu'un champs n'est pas a 1
    Bonjour,

    Je souhaite faire un programme qui parcours une table d'une base de donnée et en particulier un champs, ce champs est par défault à 0 et tant qu'il n'est pas passé à 1 je souhaite attendre et bam dès qu'il passe à 1 je continue le programme. Mon problème est de savoir comment "guetter" l'arrivée du 1 dans ce champs. Avez vous une idée ?

  2. #2
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Que penses-tu de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    laValeurDuChamp = RequêteQuiRécupèreLaValeur()
     
    While not laValeurDuChamp = 1
       laValeurDuChamp = RequêteQuiRécupèreLaValeur()
    End While
    ?

  3. #3
    Membre confirmé Avatar de jlm22
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2010
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 203
    Par défaut
    sa me parait interressant ^^ mais très, cependant comment faire pour passer à la ligne suivante. Par exemple on tattend que le champs de la première ligne passe à 1 ...............hop il passe du coup on va à la 2ème ligne puis on attend que le champs de la 2ème ligne passe à 1 ........................hop il passe et ainsi de suite. Il faudrait une sorte d'indice !

  4. #4
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Ah ok, tu checkes ce champs sur plusieurs lignes. J'avais pas compris ça.

    Bien en fait, ce n'est pas vraiment plus compliqué.

    Tu fais une requête du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select distinct leChamp from maTable
    Après, y a plus qu'à compter le nombre de lignes récupérées. Si c'est >1, tu boucles. Si c'est =1, tu vérifies que la valeur n'est pas 0.

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Visiblement, il y a un problème de conception : une base de données sert à stocker des ... données; pas à communiquer des infos de changement d'état entre programme (ce que je soupçonne que tu essaye de faire).

    Exprime la totalité du besoin fonctionnel, on verra peut être plus clair.

    EDIT : après avoir lu les messages postés supra (ce que je n'avais pas fait) je réitére mon analyse : gros problème de conception.
    Visiblement, tu veux utiliser la DB pour quelque chose qui n'est pas du tout son rôle.

  6. #6
    Membre confirmé Avatar de jlm22
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2010
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 203
    Par défaut
    Bon je vous explique tout,

    Côté SQL
    En faite j'ai fait une procédure PL/SQL qui parcours une table (Table X) chaque fois qu'elle arrive sur une ligne elle fait un traitement puis elle passe un champs de la ligne à 1.

    Côté Vb.NET
    En parallèle de ma procédure j'ai un programme vb qui lance la procédure (il n'est pas conçu que pour sa c'est seulement une option) et regarde le champs qui est censé passer à 1, quand il passe à 1 il incrémente une variable et ainsi de suite jusqu'à la fin du parcours de la table.

    Je pense avoir été à peu près clair, j'ai beaucoup simplifier l'application mais l'idée principale est là.

    Merci pour votre aide.

    Ps: je ne joins pas le code sa serais superflux et sa vous embrouillerai plus qu'autre chose

    Edit : s'il y a un problème de conception comment faire autrement je souhaite juste savoir ou en est mon traitement

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Tu confirmes donc ce que je disais. (mauvaise conception).

    On va supposer que tes traitements sont assez longs et que tu as réellement besoin du monitoring coté client de la progression du traitement dans la base (mais ce serait pas mal de préciser pourquoi ?).

    Je ne connais pas assez Oracle pour savoir ce qu'il y a de dispo dessus, mais je sais comment je ferais en SQL Server pour ce cas. Dans la proc stoc, je posterai à chaque élement traité un message dans une SSSBQ, et du coté client, j'écouterai la SSSBQ. Maintenant, voir les mécanismes Oracle équivalent.

  8. #8
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Pour ma culture... Qu'est-ce qu'une SSSBQ (ou SSBQ ?). Quand je fais une recherche dans google, je ne tombe que sur d'autres de tes messages où tu utilises cet acronyme mais jamais sur une explication ^^

  9. #9
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par griftou Voir le message
    Pour ma culture... Qu'est-ce qu'une SSSBQ (ou SSBQ ?). Quand je fais une recherche dans google, je ne tombe que sur d'autres de tes messages où tu utilises cet acronyme mais jamais sur une explication ^^
    Sql Server Service Broker Queue.

  10. #10
    Membre confirmé Avatar de jlm22
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2010
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 203
    Par défaut
    Sa me parait bien compliqué pour seulement voire un état d'avancement du traitement

  11. #11
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Ta procédure en pl/sql, elle parcours les records selon un ordre précis ?

    Si oui, tu peux aussi faire qqch du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select * from maTable where leChamp = 0 order by ...
    Ta première ligne sera celle qui est en cours de traitement par ta procédure si ce que tu mets dans la clause order by trie tes records de la même manière que ta procédure.

  12. #12
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par jlm22 Voir le message
    Sa me parait bien compliqué pour seulement voire un état d'avancement du traitement
    On peut à l'inverse s'interroger sur la pertinence de voir l'avancement d'un traitement effectué dans le DBMS.

Discussions similaires

  1. [Débutant] Pause du programme tant qu'un résultat n'est pas bon
    Par manuscle dans le forum VB.NET
    Réponses: 3
    Dernier message: 25/04/2015, 14h15
  2. Réponses: 5
    Dernier message: 21/07/2012, 08h30
  3. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  4. Réponses: 2
    Dernier message: 01/11/2006, 22h36
  5. Blocage tant qu'une fenêtre n'est pas fermé
    Par lodan dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/09/2006, 07h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo