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 :

problème avec le reader


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 42
    Points : 21
    Points
    21
    Par défaut problème avec le reader
    Bonjour a tous,

    je vous présente tout d'abord le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     Dim sql As String
        Private Sub creatcom_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            sql = "select * from commandes"
            Dim i As Integer
            i = 0
     
            Using cmd As New SqlCommand(sql, Princip.cnx)
                Using myreader As SqlDataReader = cmd.ExecuteReader
     
                    While myreader.Read
     
                        viewdevis.Items.Add(myreader.GetValue(0))
                        viewdevis.Items(i).SubItems.Add(myreader.GetValue(1))
                        viewdevis.Items(i).SubItems.Add(myreader.GetString(3))
     
                        i = i + 1
                    End While
                End Using
            End Using
        End Sub
    Mon problème est que mon Myreader n'arrive pas à la boucle! il s'arrete à cette ligne " Using myreader As SqlDataReader = cmd.ExecuteReader" il execute cette ligne mais n'execute pas la suite et pourtant charge la form sans erreur généré je ne sais pas d'où viens le problème, j'utilise SQL Server 2008 comme SGBDR, et pourtant une simple execution de requête fonctionne cela se passe uniquement lorsque c'est un datareader...

    Merci d'avance pour votre lecture et si possible votre solution.
    Cordialement, Zilien 974...

  2. #2
    Expert confirmé
    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 : 41
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Sans plus d'information, je dirais que ta requête retourne un nombre de ligne égale à zéro.

    Du coup y a d'erreur et lorsqu'il passe à la boucle while, read renvoie false et il sort de la boucle.

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    l'évènement load est étrange, il absorbe les erreurs (sur les os x64 je crois)
    donc mets un try catch dedans, et tu verras l'erreur d'exécution de la requete

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 42
    Points : 21
    Points
    21
    Par défaut
    merci de ton aide...

    la requete retourne des lignes dans sql server justement c'est ça que je trouve bizarre

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 42
    Points : 21
    Points
    21
    Par défaut
    Pol63, j'y ai pensé mais sans succès il execute apparament sans problème... :/
    très étrange tout sa!

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 42
    Points : 21
    Points
    21
    Par défaut
    en faite la requête en elle même n'a pas d'erreur vu que je la lance dans SQL server et me retourne ce que je souhaite....donc cela ne vient pas de la requete

  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 : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Tu es sur que ta connexion possède la base par défaut à laquelle tu souhaite accéder ?

    Pour t'en assurer, modifie la requête en ajoutant [NomBase].[Schema] devant le nom de la table Commandes.

    Tu peux aussi, après le ExecuteReader vérifier la valeur de propriété HasRows du DataReader.

  8. #8
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    Citation Envoyé par zilien974 Voir le message
    Pol63, j'y ai pensé mais sans succès il execute apparament sans problème... :/
    très étrange tout sa!
    pas possible
    si en pas à pas ca s'arrete sur la la ligne executereader, ca veut dire qu'elle plante
    donc qu'avec un try catch englobant ca passe dans le catch, et que tu pourrais y voir un message d'erreur "connexion non ouverte" "erreur dans la requete" etc...


    Citation Envoyé par zilien974 Voir le message
    en faite la requête en elle même n'a pas d'erreur vu que je la lance dans SQL server et me retourne ce que je souhaite....donc cela ne vient pas de la requete
    ne jamais partir sur des raisonnements "ca marche là donc ca marche ici"
    sql server est certes pas chiant, mais avec access, je peux te trouver plein de requetes qui passent sous access et pas depuis un programme !

  9. #9
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 42
    Points : 21
    Points
    21
    Par défaut
    blue deep -> en ajoutant [NomBase].[Schema]...rien ne change hélas...

    Pol63 -> quand je dis que cela bloque à cette ligne c'est une constation en faite après débuguage, si je l'execute aucune erreur ne s'affiche, la form s'affiche mais sans le contenu à l'intérieur, j'ai pris un autre projet pour voir et celui-ci marche sans souci.
    Je re essaye quand même le try catch j'ai peut etre mal codé!

  10. #10
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 42
    Points : 21
    Points
    21
    Par défaut
    Pol63, je tiens déjà à m'excuser tu avais entièrement raison !

    voici l'erreur générée :

    System.InvalidOperationException: ExecuteReader nécessite une Connection ouverte et disponible. La connexion est actuellement fermée." & vbCrLf & " à System.Data.SqlClient.SqlConnection.GetOpenConnection(String method)" & vbCrLf & " à System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command)" & vbCrLf & " à System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async)" & vbCrLf & " à System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)" & vbCrLf & " à System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)" & vbCrLf & " à System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)" & vbCrLf & " à System.Data.SqlClient.SqlCommand.ExecuteReader()" & vbCrLf & " à WindowsApplication1.creatcom.creatcom_Load(Object sender, EventArgs e)
    c'est un souci de connexion apparament... je regarde à ce niveau!

  11. #11
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 42
    Points : 21
    Points
    21
    Par défaut
    merci à tous pour votre aide les gars!

    J'ai trouvé le problème c'est une bien une ouverture et fermeture de connexion mal codé!

    Je vous remercie encore!

    Zilien974

  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 : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Parfait, mais dans ce cas, ne pas oublier le bouton

  13. #13
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 42
    Points : 21
    Points
    21
    Par défaut
    Autant pour moi Bluedeep !

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

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par zilien974 Voir le message
    Autant pour moi Bluedeep !
    D'autant que son utilisation te rapporte 1 point

  15. #15
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 42
    Points : 21
    Points
    21
    Par défaut
    Espérons que demain j'aurais plus que 1points... mon application est suceptible de passer en présentation a un examen! lol

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

Discussions similaires

  1. Problème avec Excel Reader.php
    Par CapErquy dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 23/02/2011, 16h43
  2. Problème avec data reader
    Par Marc_27 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 24/03/2009, 10h27
  3. Problème avec Adobe Reader 8
    Par Lanny dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 30/06/2008, 00h18
  4. Problème avec Adobe Reader.
    Par JavaAcro dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 04/02/2008, 22h05
  5. Problème avec Adobe acrobat reader
    Par castelm dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 08/03/2007, 21h19

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