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

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 32
    Points : 13
    Points
    13
    Par défaut vb + acess :ExecuteReader nécessite une Connection ouverte et disponible. La connexion est actuellement fermée
    bonjour,
    je suis débutant en vb express 2010

    je crée bd access

    je fait la connexion de cette db en vb

    je veut afficher le contenu d'une table contact en DataGridView1 la ou je trouvère une difficulté

    jai le msg d'erreur suivante : ExecuteReader nécessite une Connection ouverte et disponible. La connexion est actuellement fermée.

    voici mon 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
    21
    22
    23
    Imports System.Data.OleDb
     
    Public Class Form2
        Public cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\test2\carnert_adresse.accdb")
        Public cmd As New OleDbCommand
        Public dr As OleDbDataReader
     
        Private Sub AfficherToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AfficherToolStripMenuItem.Click
     
            'cn.Open()
            ' If cn.State = ConnectionState.Open Then
            cmd.CommandType = CommandType.Text
            cmd.CommandText = "SELECT * FROM  contact"
            cmd.Connection = cn
            dr = cmd.ExecuteReader
            dr.Read()
            Dim t As New DataTable
            t.Load(dr)
            DataGridView1.DataSource = t
            ' End If
     
        End Sub
    End Class
    qui peut m'aide svp

  2. #2
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut
    Il te manque un connexion.open.
    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
     
    Dim objSQLConnection As New System.Data.OleDb.OleDbConnection
    Dim objSQLCommand As New System.Data.OleDb.OleDbCommand
    Dim objSQLDataReader As OleDbDataReader
     
    Dim strSQL As String = "SELECT * FROM..."
     
    objSQLConnection.ConnectionString = <connexion string>
     
    objSQLConnection.Open()
     
    objSQLCommand = New OleDbCommand(strSQL, objSQLConnection)
     
    objSQLDataReader = objSQLCommand.ExecuteReader
     
    While objSQLDataReader.Read
         (...)
    End While
     
    If objSQLDataReader IsNot Nothing AndAlso Not objSQLDataReader.IsClosed Then
         objSQLDataReader.Close()
    End If
     
    If objSQLConnection.State = ConnectionState.Open Then
         objSQLConnection.Close()
    End If

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2012
    Messages : 5
    Points : 9
    Points
    9
    Par défaut Re:Connexion
    Ta connexion n'est pas bonne.

    Voici ce qu'il fallait faire pour se connecter :

    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
     
          cn.Open()
             If cn.State = ConnectionState.Open Then
                 msgbox("connecté")
              else
                 msgbox("Non connecté")
     
              end if
     
            cmd.CommandType = CommandType.Text
            cmd.CommandText = "SELECT * FROM  contact"
            cmd.Connection = cn
            dr = cmd.ExecuteReader
            dr.Read()
            Dim t As New DataTable
            t.Load(dr)
            DataGridView1.DataSource = t
     
        End Sub
    End Class
    Si jamais, ta requête d'affichage n'affiche rien après s'être connecté, tu essayeras de mettre ta requête d'affichage dans un bouton que tu nommeras afficher (par ex) et au moment du click, ta requete va s'afficher normalement.Tu essayeras de faire tout ça sur une même page.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/06/2014, 02h33
  2. Réponses: 1
    Dernier message: 21/05/2010, 20h31
  3. Détecter si une connection est ouverte !
    Par Sancha dans le forum C#
    Réponses: 5
    Dernier message: 16/03/2010, 11h08
  4. Accès à une application ouverte (OLE Automation ?)
    Par PascalB dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/06/2002, 14h39
  5. couper une connection avec un serveur corba
    Par pons dans le forum CORBA
    Réponses: 3
    Dernier message: 31/05/2002, 10h11

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