Problème de connexion

Signaler
Messages postés
9
Date d'inscription
mercredi 17 avril 2002
Statut
Membre
Dernière intervention
5 mai 2011
-
Messages postés
103
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
30 décembre 2017
-
Bonjour,
je n'arrive pas à me connecter à ma base de donnée access. je dois developper une appli dans le cadre de mon stage. Aidez moi s'il vous plait
voici le code que j'ai écrit dans le form load du form connexion. Je ne sais pas ce qui ne va pas
Merci A+

' Importation des bibliothèques
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports Microsoft.VisualBasic

Public Class frmConnexion
'declarations
Public cnx As OleDbConnection
Public cmd As OleDbCommand
Public dta As OleDbDataAdapter
Public dts As New DataSet
Public sql As String
Public dtt As DataTable
Public dtr As DataRow
Public rownum As Integer
Public cnxstr As String
Public cmdb As OleDbCommandBuilder
'le code de la connexion

Public Sub frmConnexion_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

' Ouverture de la connexion
cnxstr = "provider=microsoft.jet.oledb.4.0; data source=" & Application.StartupPath & "\Base de données.mdb;"
cnx = New OleDbConnection
cnx.ConnectionString = cnxstr
cnx.Open()

End Sub


End Class

7 réponses

Messages postés
103
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
30 décembre 2017

c'est quoi l'erreur ?
Messages postés
9
Date d'inscription
mercredi 17 avril 2002
Statut
Membre
Dernière intervention
5 mai 2011

Merci de votre aide.
ma connaxion a fini par marché. Il n'y avait meme pas d'erreur.
Par contre, j'ai voulu mettre les boutons pour ajouter, supprimer ou modifier des donnees. L'execussion du programme me donne zero erreur alors que je recois un msg " objet reference not set to an instance of an object".
Un msg d'alerte: the referenced component 'ADODB2' could not be found'
Depuis deux jours je ne bouge pas, DEBLOQUEZ MOI s'il vous plait

Voici mon code
Sub Ajouter()

' Permet d'Ajouter de nouveaux enregistrements

Dim CMDSQL As String


Try

CMDSQL = "INSERT INTO CollectionSource (SourceCode, Description) VALUES('" & Trim(TextBox1.Text) & "','" & Trim(TextBox2.Text) & "')"

cnx.Open()
Dim MyCmd = New OleDbCommand(CMDSQL, cnx)
Dim dbDr As OleDbDataReader
dbDr = MyCmd.ExecuteReader()

dbDr.Dispose()

Catch Exp As OleDbException
MsgBox(Exp.Message, MsgBoxStyle.Critical, "SQL Error")

Catch Exp As Exception
MsgBox(Exp.Message, MsgBoxStyle.Critical, "General Error")
End Try

End Sub
Private Sub btAjouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btAjouter.Click
Ajouter()
End Sub
Messages postés
103
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
30 décembre 2017

Slt ,
vous avez une requête action INSERT, je ne c'est pas pourquoi tu as utilisé ExecuteReader tan que elle on lecture seul

Essaez

cnx.Open()
Dim MyCmd = New OleDbCommand(CMDSQL, cnx)
MyCmd.ExecuteNonQuery

Catch Exp As OleDbException
MsgBox(Exp.Message, MsgBoxStyle.Critical, "SQL Error")
....
Messages postés
9
Date d'inscription
mercredi 17 avril 2002
Statut
Membre
Dernière intervention
5 mai 2011

Salut,

Merci pour votre aide.

J'ai essayé

Dim MyCmd = New OleDbCommand(CMDSQL, cnx)
MyCmd.ExecuteNonQuery

mais je recois le meme msg d'alerte et mes boutons ajouter ne marchent pas. le msg est
" the referenced component 'ADODB2' could not be found"

Lorsque je regarde dans les fichiers de reference dans l'explorateur de solution, je vois le fichier ADODB2 marqué d'un '!' en jaune

Je ne bouge plus depuis ...

Merci
Messages postés
103
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
30 décembre 2017

Slt

vous avez une classe ADODB2 n'est pas déclaré ou n'est pas initialisé

Montez nous votre code complet s'il est possible.
Messages postés
9
Date d'inscription
mercredi 17 avril 2002
Statut
Membre
Dernière intervention
5 mai 2011

Slt,

Je ne sais vraiment pas comment proceder pour deposer tout le code étant donné que c'est un dossier comportant beaucoup de fichiers.
Alors, j'ai pris le code contenu dans le module et celui d'un formulaire; la base de donnée etant en access.

Mais si vous pouvez m'indiquer une procedure pour vous l'envoyer, j'aurai aussi acquit d'autres connaissances.

Merci

Dans mon module

Imports System
Imports System.Data
Imports System.Data.OleDb
'Imports Microsoft.VisualBasic


Module Module1

Public db As OleDbConnection

Sub center_feuille(ByVal Feuille As System.Object)

' cette procedure centre la feuille sur l'ecran

Feuille.left = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width / 2 - Feuille.Width / 2
Feuille.Top = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height / 2 - Feuille.Height / 2

End Sub

Public Sub seconnecter()
'Ouverture de la connexion
db.ConnectionString = "provider=microsoft.jet.oledb.4.0; Data Source=" & Application.StartupPath & "\Base de données.mdb"
If db.State = ConnectionState.Closed Then
db.Open()
End If
End Sub

End Module

Sous mon formulaire Site de Collection

Imports System
Imports System.Data
Imports System.Data.OleDb

Public Class frmSiteCollection

Sub Ajouter()

' Permet d'Ajouter de nouveaux enregistrements

Dim CMDSQL As String


Try

CMDSQL = "INSERT INTO SiteCollection (SiteCollectionCode, CountryCode, Province, SpeciesAuthority, District, Town, Village, Latitude, Longitude, Altitude) VALUES('" & Trim(TextBox1.Text) & "', ComboBox1, '" & Trim(TextBox2.Text) & "','" & Trim(TextBox3.Text) & "','" & Trim(TextBox4.Text) & "','" & Trim(TextBox5.Text) & "','" & Trim(TextBox6.Text) & "','" & Trim(TextBox7.Text) & "','" & Trim(TextBox8.Text) & "')"

db.Open()
Dim MyCmd = New OleDbCommand(CMDSQL, db)
Dim dbDr As OleDbDataReader
dbDr = MyCmd.ExecuteReader()

dbDr.Dispose()

Catch Exp As OleDbException
MsgBox(Exp.Message, MsgBoxStyle.Critical, "SQL Error")

Catch Exp As Exception
MsgBox(Exp.Message, MsgBoxStyle.Critical, "General Error")
End Try

End Sub
' le bouton ajouter

Private Sub btAjouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btAjouter.Click
Ajouter()
End Sub
End Class
Messages postés
103
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
30 décembre 2017

Voila mtn est claire ,
Alors vous avez pas mal des erreurs mon camarade,

* au niveau de module tu n'as pas initialisé (db de la connexion)
* clique de l'ajout (MyCmd.ExecuteNonQuer + tu as oublié l'ouverture de la connexion est ça c'est autre erreur)
*est autre trucs
_________________________________
Module Module1
Public db As New OleDbConnection
Sub center_feuille(ByVal Feuille As System.Object)
' cette procedure centre la feuille sur l'ecran
Feuille.left = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width / 2 - Feuille.Width / 2
Feuille.Top = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height / 2 - Feuille.Height / 2
End Sub
Public Sub seconnecter()
'Ouverture de la connexion
' Dim db As New OleDbConnection
db.ConnectionString = "provider=microsoft.jet.oledb.4.0; Data Source=" & Application.StartupPath & "\ma_base.mdb"
If db.State = ConnectionState.Closed Then
db.Open()
End If
End Sub
End Module
_______________________
Sous mon formulaire Site de Collection

Imports System
Imports System.Data
Imports System.Data.OleDb

Public Class frmSiteCollection

Sub Ajouter()

' Permet d'Ajouter de nouveaux enregistrements

Dim CMDSQL As String


Try

CMDSQL = "INSERT INTO SiteCollection (SiteCollectionCode, CountryCode, Province, SpeciesAuthority, District, Town, Village, Latitude, Longitude, Altitude) VALUES('" & Trim(TextBox1.Text) & "', ComboBox1, '" & Trim(TextBox2.Text) & "','" & Trim(TextBox3.Text) & "','" & Trim(TextBox4.Text) & "','" & Trim(TextBox5.Text) & "','" & Trim(TextBox6.Text) & "','" & Trim(TextBox7.Text) & "','" & Trim(TextBox8.Text) & "')"
[b]seconnecter()
Dim MyCmd = New OleDbCommand(CMDSQL, db)
MyCmd.ExecuteNonQuery()/b
Catch Exp As OleDbException
MsgBox(Exp.Message, MsgBoxStyle.Critical, "SQL Error")

Catch Exp As Exception
MsgBox(Exp.Message, MsgBoxStyle.Critical, "General Error")
End Try

End Sub
' le bouton ajouter

Private Sub btAjouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btAjouter.Click
Ajouter()
End Sub
End Class
_____________
Observation : on VB.net ta pa besoin de déclarer procédure pour centrer la FORM ,vous avez la propriété :StartPosition