La propriété Connection n'a pas été initialisée [Résolu]

andy331 45 Messages postés mercredi 11 novembre 2009Date d'inscription 11 juin 2010 Dernière intervention - 23 mai 2010 à 16:25 - Dernière réponse : andy331 45 Messages postés mercredi 11 novembre 2009Date d'inscription 11 juin 2010 Dernière intervention
- 26 mai 2010 à 17:55
Bonjour à tous!
Voila j'ai problème que j'arrive pas résoudre malgrés les recherche sur le net
J'ai créé une classe de connexion que j'ai appelé (ParamConnexion) que voici :
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.Common.DbCommand

Public Class ParamConnexion
    Private Shared m_laConnexion As OleDbConnection

    Public Shared Sub Initialiser()
        m_laConnexion = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\N'dy\Documents\Visual Studio 2008\Projects\Gestion d'oeuvre d'art\gestion d'oeuvres.accdb;Jet OLEDB:Database Password=MyDbPassword;")
        m_laConnexion.Open()

    End Sub

    Public Shared Function Connexion()
        Return m_laConnexion
    End Function
End Class


Et maintenant dans mon bouton Valider je souhaiterais insérer les informations dans la base de donnée
Et lorsque j'exécute le programme une erreur apparait en me disant que la propriété Connection n'a pas été initialisée

Dim sqlAjouterOeuvre As String
        Dim cmd As OleDbCommand

        ParamConnexion.Connexion() // pourtant ma connexion est initialisé 

 [CODE=sql]sqlAjouterOeuvre = "INSERT INTO artiste (art_nom, art_prenom,art_nationalite,art_biographie) values('" & TxtNom.Text & "','" & TxtPrenom.Text & "','" & TxtNationalite.Text & "','" & RTxtBio.Text & "')"

cmd = New OleDbCommand(sqlAjouterOeuvre)

cmd.ExecuteNonQuery() // ]ExecuteNonQuery : la propriété Connection n'a pas été initialisée./code

merci de votre aide!!
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Mayzz 2859 Messages postés mardi 15 avril 2003Date d'inscription 26 novembre 2013 Dernière intervention - 25 mai 2010 à 16:47
3
Merci
Salut,

Si tu déclare Shared tous les membres de ta classe c'est normal !

Public Class ParamConnexion

    Private m_laConnexion As OleDbConnection

    Public Sub New()
        m_laConnexion = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\N'dy\Documents\Visual Studio 2008\Projects\Gestion d'oeuvre d'art\gestion d'oeuvres.accdb;Jet OLEDB:Database Password=MyDbPassword;")
        m_laConnexion.Open()
    End Sub

    Public ReadOnly Property Connection() As OleDbConnection
       Get
         Return m_laConnexion
       End Get       
    End Function

End Class


Pour le reste :

Private Sub Btn_Insert_Click (Sender As Object, e As System.EventArgs) Handles Btn_Insert.Click

   Dim classConnex As New ParamConnexion
   Dim cmdString As String = "INSERT INTO artiste (art_nom, art_prenom,art_nationalite,art_biographie) values('" & TxtNom.Text & "','" & TxtPrenom.Text & "','" & TxtNationalite.Text & "','" & RTxtBio.Text & "')"
   Dim SQLCommand As New OleDbCommand(cmdString, classConnex.Connection)
   SQLCommand.ExecuteNonQuery 

End Sub


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.

Merci Mayzz 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de Mayzz
andy331 45 Messages postés mercredi 11 novembre 2009Date d'inscription 11 juin 2010 Dernière intervention - 26 mai 2010 à 17:55
0
Merci
Merci pour ton aide!!!
Commenter la réponse de andy331

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.