andy331
Messages postés45Date d'inscriptionmercredi 11 novembre 2009StatutMembreDernière intervention11 juin 2010
-
23 mai 2010 à 16:25
andy331
Messages postés45Date d'inscriptionmercredi 11 novembre 2009StatutMembreDernière intervention11 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
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 25 mai 2010 à 16:47
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.