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 :

Lecture d'un dataset en multithread


Sujet :

VB.NET

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut Lecture d'un dataset en multithread
    Bonjour

    j'aimerais lire dans un dataset dans un opération multithread

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub DoTheTask()
            Do Until QuSymb.Count = 0
                Dim Symb As String = CStr(QuSymb.Dequeue)
                'Console.WriteLine("Le Nombre de Queue est :" & QuSymb.Count)
                'Console.WriteLine(Symb)
                If Not Symb = Nothing Then
                    Dim Expression As String = "Symbole='" & Symb & "'"
                    Dim FoundRow() As DataRow
                    Dim Market As String = String.Empty
                    FoundRow = My.Forms.Form1._Ds.Tables("TblSymbole").Select(Expression)
                    Console.WriteLine(FoundRow(0).Item(1).ToString)
                    For Each r As DataRow In FoundRow
                        Market = CStr(r.Item(1))
                    Next
    j'ai un arrêt au niveau foundrow ... avec un message La référence d'objet n'est pas définie à une instance d'un objet.

    merci

  2. #2
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    FoundRow = My.Forms.Form1._Ds.Tables("TblSymbole").Select(Expression)
    Si c'est sur cette ligne c'est qu'un des objets n'est pas défini (donc null).

    Met un point d’arrêt sur la ligne et regarde lequel (peut_être le Dataset).

    A vérifier aussi si

    pointe bien sur la form, d'habitude je la passe en paramètre à la fonction qui doit l'utiliser (et vu que c'est un objet -> référence). Je n'ai jamais testé cette technique.
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut
    Merci InfoSam de ta réponse j'ai fais un test en dehors du thread et le code passe bien sans erreur, mais lorsque j'essai de faire la même chose dais un sub multithread ça passe pas

  4. #4
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Attention que vu que tu utilises un thread, il s'agit donc d'un autre thread que le thread principal de ton application qui exécute ton UI.

    Je te conseille de jeter un coup d’œil du coté du BackgroundWorker qui facilite l'utilisation des threads.
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut
    je sais pas si cette option est vraiment valide pour moi car je dois récupérer plus de 4000 pages web et j'utilise le multithread pour faire cette opération 10pages en même temps, donc 10 thread de requête web.

  6. #6
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Perso je l'ai déjà utilisé pour 5 threads sans aucun soucis...

    Maintenant il suffit de trouver la manière de passer une réf sur ton Dataset à ta fonction exécutée par le thread
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut
    ok merci pour l'instant j'ai réussi une méthode détournée qui me donne un bon résultat. je fait ma requête bd avant de démarrer les thread je me fais une chaine string avec un séparateur ";" que j'ajoute à une queue. lorsque je démarre mes threads je récupère ce que je recherche par un split de ma string

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/10/2009, 11h38
  2. Réponses: 2
    Dernier message: 11/08/2009, 22h11
  3. Réponses: 1
    Dernier message: 06/10/2008, 17h42
  4. [VB.net]Lecture xml vers dataset : prob avec sous noeuds
    Par Garrett dans le forum Windows Forms
    Réponses: 1
    Dernier message: 25/04/2007, 20h28
  5. [réglé][C#] lecture dataset
    Par IP-Fix dans le forum Windows Forms
    Réponses: 6
    Dernier message: 30/03/2006, 21h16

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