Problème Recordset laissant Base access ouvert (.ldb)
Bonjour à tous,
Toujours débutant, merci d'avance pour votre indulgence :roll:
J'ai constaté que lorsque j'accède à ma base de données, apparait ce fameux fichier .ldb qui est sensé disparaitre lorsqu'on referme la connection. Et chez moi il reste .....
L'utilisateur saisit des données dans un form, puis je les intègrent dans la base de données ainsi :
Pour info, connection1() est dans un module :
Code:
1 2 3 4 5 6 7 8 9
| Module ModuleConnection
Public base1 As String
Public base3 As String
Public Sub connection1()
base1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = "
base3 = "C:\Users\masession\Documents\escale.mdb;"
End Sub
End Module |
Une fois que l'utilisateur valide, cette procédure se lance.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| Public Class Form2
Dim MyConnect As String
Dim MyRecordset As ADODB.Recordset
Private Sub valider_Click(sender As System.Object, e As System.EventArgs) Handles valider.Click
Try
Call connection1()
MyConnect = base1 & base3
MyRecordset = New ADODB.Recordset
MyRecordset.Open("Table1", MyConnect, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)
MyRecordset.AddNew()
MyRecordset.Fields("NDC").Value = dc.Text
MyRecordset.Update()
MyRecordset.Close()
'mise à jour de mon datagridview associé
Form1.GetData(Form1.Table1dataAdapter.SelectCommand.CommandText)
Catch ex As Exception
MsgBox(Err.Description)
End Try
End sub
End class |
Concernant la ligne de commande de mise à jour du datagridview, je vous mets le code contenu dans le form1 :
Tout en haut :
Code:
Imports System.Data.OleDb
Puis :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Public Sub GetData(ByVal selectCommand As String)
Try
Call connection1()
Dim connectionString1 As String = base1 & base3
Me.Table1dataAdapter = New OleDbDataAdapter(selectCommand, connectionString1)
Dim commandBuilder1 As New OleDbCommandBuilder(Me.Table1dataAdapter)
Dim table1 As New DataTable()
table1.Locale = System.Globalization.CultureInfo.InvariantCulture
Me.Table1dataAdapter.Fill(table1)
Catch ex As DataException
MsgBox(Err.Description)
End Try |
J'espère que cela pourra vous aider .....
Edit 1 : De plus je remarque que dans VB, j'ai dans fenêtre exécution :
Citation:
Une exception de première chance de type 'System.NullReferenceException' s'est produite dans Escale.exe
et une info-bulle :
Citation:
La référence d'objet n'est pas défini à une instance d'un objet
Est-ce lié car je sais pas comment savoir à quelle ligne de mon programme çà bug .... et VB2010 me pointe pas la ligne qui pourrait générer cette erreur.....