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 :

Utilisation du datagridview avec vb express 10


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 4
    Par défaut Utilisation du datagridview avec vb express 10
    J'utilise VB express et voudrais affiche le résultat de ma requête dans un datagridview mais j'obtiens toujours une notification d'erreurs:
    Une exception de première chance de type 'System.Data.OleDb.OleDbException' s'est produite dans System.Data.dll. Quelqu'un pourrait t il m'aider.

    ci-dessous le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Imports System.Data.OleDb
     
    Public Class Form1
        Dim con1 As New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=C:\Users\Sethro\Desktop\Test.mdb")
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim sql As String
            sql = "SELECT * FROM users"
            Dim adapter As New OleDbDataAdapter(sql, con1)
            Dim dt As New DataTable("users")
            adapter.Fill(dt)
            DGV.DataSource = dt
        End Sub
    End Class
    Merci

  2. #2
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,

    Ton code se trouve dans la procédure événementielle de chargement du Form. ( Form1_Load( ... )
    Déplace tout ce code dans une procédure événementielle d'un bouton (Button.Click( ... )

    Après cela, ce code s'exécutera au Click du bouton, donc bien après l'ouverture du programme.
    Probablement que l'erreur se produira encore, il faut alors savoir sur quelle ligne de code elle survient.

    A bientôt,

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Si mes souvenirs sont exacts, ce message d'erreur dans VB Express 2010 n'empêche pas la compilation, ni l'exécution du programme, si il n'apparait qu'une fois par objet. Il peut même apparaître plus d'une fois, tant que ce n'est pas le même objet.

    Mais rien ne t'empêche de mettre un point d'arrêt au début de ta procédure, que ce soit dans le Form_load ou dans un bouton, et de l'exécuter au pas-à-pas en vérifiant où cela plante. Et si cela ne plante pas, c'est parce qu'il y a un problème, apparemment avec ta requête.

    Et puis, personnellement, j'essaierais cette partie comme cela au pas à pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
         try
            Dim sql As String
            sql = "SELECT * FROM users"
            Dim adapter As New OleDbDataAdapter(sql, con1)
            Dim dt As New DataTable("users")
            adapter.Fill(dt)
            DGV.DataSource = dt
        catch ex as exception
              messagebox.show(ex.message)
        end try
     
     End Sub
    Parce que si tu la fais au pas à pas tu vas voir immédiatement quelle instruction plante, parce que ton curseur va sauter directement sur la ligne catch en sautant toutes les autres.

    P.S. Es-tu sûr que ta connexion est vraiment ouverte ? Parce que moi, je ne suis pas sûr pantoute qu'elle s'ouvre automatiquement. Mets un espion sur con1. Si tu vois que sa valeur reste à Nothing, c'est qu'elle n'est pas ouverte automatiquement par l'adapteur et ouvre la toi-même avec :

    Parce que si ta connexion n'est pas ouverte, c'est normal que tu ne ramasses rien.

Discussions similaires

  1. Réponses: 41
    Dernier message: 25/03/2013, 11h39
  2. Utiliser Oledb avec MSVC++ Express
    Par vincent-v dans le forum VC++ .NET
    Réponses: 0
    Dernier message: 07/06/2010, 15h07
  3. Réponses: 3
    Dernier message: 16/07/2008, 09h49
  4. utilisation d'Office avec C# express
    Par rdh123 dans le forum C#
    Réponses: 6
    Dernier message: 29/08/2007, 02h08

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