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

Accès aux données Discussion :

[ADO.Net][PostgreSql ] Pourquoi ai-je une InvalidOperationException dans npgsql.dll ?


Sujet :

Accès aux données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Points : 166
    Points
    166
    Par défaut [ADO.Net][PostgreSql ] Pourquoi ai-je une InvalidOperationException dans npgsql.dll ?
    Bonjour,voila j'ai créé une base avec postgresql et je tente de mettre en place une interface a&vec vb.net.
    pour l'instant j'en suis juste au début et les problémes commencent déja!
    mon code étant:
    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
    Private Sub btnCnx_Click(ByVal sender As System.Object, ByVal e As
     System.EventArgs) Handles btnCnx.Click
            Dim strCnx As String
     
            Dim cmd As NpgsqlCommand
            Dim sql As String
     
            strCnx = "Server=127.0.0.1;User
     Id=postgres;Password=postgres;Database=contact"
            cnx = New NpgsqlConnection(strCnx)
            cmd = New NpgsqlCommand
            cnx.Open()
            MsgBox("connection completed")
            sql = "SELECT emp_nom FROM employe"
            cmd.CommandText = sql
            cmd.ExecuteReader()
            While cmd.ExecuteReader.Read
                cmbNom.Items.Add(cmd.GetType)
                cmd.ExecuteReader.NextResult()
            End While
        End Sub
     
        Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As
     System.EventArgs) Handles btnClose.Click
            cnx.Close()
            MsgBox("connection closed")
        End Sub
    End Class
    A la ligne en gras on me dit "Une exception non gérée du type 'System.InvalidOperationException' s'est produite dans npgsql.dll

    Informations supplémentaires*: The Connection is not open.
    " est ce que quelqu'un saurait pourquoi??

  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
    Essayes
    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
     
    Dim strCnx As String = "Server=127.0.0.1;User
     Id=postgres;Password=postgres;Database=contact"
    Dim sql As String = "SELECT emp_nom FROM employe"
    Dim cmd As NpgsqlCommand = Nothing
    Dim lecteur As NpgsqlDataReader  = Nothing
    Try
       cnx = New NpgsqlConnection(strCnx) 
       cmd = New NpgsqlCommand(sql, cnx)
       cnx.Open() 
       MsgBox("connection completed") 
       lecteur = cmd.ExecuteReader() 
       While lecteur.Read 
          cmbNom.Items.Add(lecteur.GetValue(0)) 
       End While
    Catch ex As Exception 
       MsgBox(ex.Message) 
    End Try
    L'ideal serait tout de même que tu fasses un debug pas à pas pour verifier chacune des valeurs espionnable et repéré si une valeur apparait incongrue dans le contexte

    Je me suis permis d'imaginer qu'il existait dans ta dll Npgsql (enfin j'espère pour toi) le DataReader c'est un objet qui normalement devrait être renvoyé par cmd.ExecuteReader
    Tu as dû remarquer aussi l'utilisation directe d'une surcharge du constructeur NpgsqlCommand (j'ai fait au pif, mais c'est ainsi pour sql,oledb,odbc,oracle,mysql...)
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Points : 166
    Points
    166
    Par défaut
    MERCI neguib mERCI mERCI
    Cela marche parfaitement!
    ce forum marche vraiment trés bien!

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

Discussions similaires

  1. [ADO.NET] Récupérer le résultat d'une requête dans une variable
    Par developppez dans le forum Accès aux données
    Réponses: 2
    Dernier message: 14/03/2009, 21h34
  2. [ADO.Net][Access] Pourquoi ai-je une erreur lors de l'Update ?
    Par nazimb dans le forum Accès aux données
    Réponses: 1
    Dernier message: 15/05/2006, 09h37
  3. Réponses: 4
    Dernier message: 05/05/2006, 16h30
  4. [ADO.Net][C#] Pourquoi OracleConnection lève une exception ?
    Par meuledor dans le forum Accès aux données
    Réponses: 2
    Dernier message: 26/01/2006, 17h54
  5. [ADO.Net][C#/Oracle] Comment utiliser une requête paramètrée ?
    Par kaboume dans le forum Accès aux données
    Réponses: 4
    Dernier message: 05/07/2005, 14h50

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