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 :

[VB.Net] Comment remplir une ListBox avec un DataReader ?


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 21
    Points : 13
    Points
    13
    Par défaut [VB.Net] Comment remplir une ListBox avec un DataReader ?
    Bonjour! voilà: je cherche à faire le truc de base et c limite déprimant de pas y arriver...

    Je veux remplir une listebox avec un datareader. Jusque là facile..
    Mon code donne ça:

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As
     System.EventArgs) Handles MyBase.Load
      'declaration de variables
     
      'declaration de la connexion
      Dim cnxTestStr As String = "Data Source=mabase ;server=monserveur"
      Dim cnxTest As New SqlConnection(cnxTestStr)
     
      ' declaration de la commande
      Dim cmdVsd As SqlCommand = New SqlCommand("select distinct versdeb
     from niveau", cnxTest)
      Dim rdrVsd As SqlDataReader
     
      ' ouverture de la connexion
      cnxTest.Open()
     
      rdrVsd = cmdVsd.ExecuteReader()
     
      ' remplissage de la listbox
      MessageBox.Show("remplissage de listebox")
      lbxVs.Items.Clear()
      Do While rdrVsd.Read()
        lbxVs.Items.Add(rdrVsd.GetDecimal(4))
      Loop
     
      'fermeture
     
       rdrVsd.Close()
       cnxTest.Close()
     
    End Sub


    Je compile et mon programme bug à l'expression

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rdrVsd = cmdVsd.ExecuteReader()
    et il me renvoie l'erreur suivante...
    "An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in system.data.dll
    Additional information: System error."
    J'ai essayé de déclarer ce maudit datareader de plusieurs manières, (avant la connection, après) et rien n'y fait.. Je commence à désespérer ( un ti peu )
    A quoi Pourrai être due cette erreur?

    Merci!!

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    "An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in system.data.dll
    Additional information: System error."
    Et bien commence par mettre ton traitement dans un bloc Try/Catch/Finally, histoire que le message d'exception soit plus explicite et te mette sur la voie du souci précis
    Tu as une procédure équivalente dans la
    http://faqvbnet.developpez.com/?page...ill_dataReader
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    je viens d mettre les try catch finaly et l'erreur que me renvoie le systeme est
    'niveau' nom d'objet incorrect
    Pourtant, j'ai bien testé la requete sql qui écrite dans le sqlcommand et elle me renvoi bien le résultat attendu..

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par waniiya
    je viens d mettre les try catch finaly et l'erreur que me renvoie le systeme est

    Pourtant, j'ai bien testé la requete sql qui écrite dans le sqlcommand et elle me renvoi bien le résultat attendu..
    Dans ce cas, n'y a-t-il pas un problème de casse ou as-tu plusieurs copies de ta BDD differentes et ta chaine de connection ne serait pas la bonne ? j'avoue que j'ai trop peu d'élément pour faire le debuggage à ta place
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Je pense que c'est la chaine de connexion. je n'ai pas fait de copie de ma base de données...ms ya tellement peu d'informations. g juste rempli les champs datasource et server.. ds l'aide en ligne msdn , j'ai du mal à comprendre (g aussi la version en anglais ça m'aide pas)

    myConnectionString = "Initial Catalog=Northwind;Data Source=localhost;Integrated Security=SSPI;"
    que signifie les champs "initial catalog" et "integrated security".
    A quoi servent ils?

  6. #6
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Salut

    "Initial Catalog" c'est le nom de la base de donnees, Northwind, la base de donnees de demo de Sql Server

    "Integrated Security=SSPI" signifie que tu vas utiliser le login et pass de ta session windows pour t'authentifier sur Sql server. Il faut que le serveur soit configure pour accepter ce type d'authenfication. L'autre mode d'authenfication c'est d'utiliser les comptes crees dans Sql server (et donc envoyer le login+pass par la connectionstring elle meme)

    Pas mal l'exemple de connectionstrings ici:
    http://www.connectionstrings.com/

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    J'ai ajouté "initial catalog" dans ma chaine de connexion. et ça se passe nettement mieux! Merci bcp!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/07/2007, 13h09
  2. Réponses: 5
    Dernier message: 21/07/2006, 14h52
  3. Réponses: 2
    Dernier message: 11/05/2006, 22h21
  4. [VB.NET] Comment connecter une BD avec ADO ?
    Par Friz dans le forum Windows Forms
    Réponses: 6
    Dernier message: 13/02/2006, 17h42
  5. Réponses: 3
    Dernier message: 19/01/2005, 15h50

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