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

Messages postés
45
Date d'inscription
mercredi 11 novembre 2009
Dernière intervention
11 juin 2010
- - Dernière réponse : andy331
Messages postés
45
Date d'inscription
mercredi 11 novembre 2009
Dernière intervention
11 juin 2010
- 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
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Dernière intervention
26 novembre 2013
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Mayzz
Messages postés
45
Date d'inscription
mercredi 11 novembre 2009
Dernière intervention
11 juin 2010
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.