Accessdatenbank per Code einbinden oder über VB-Server-Explorer

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Indeed.

    Accessdatenbank per Code einbinden oder über VB-Server-Explorer

    Hallo zusammen,

    bisher habe ich immer meine Verbindung/Einlesen/Update zur Datenbank selber geschrieben.

    In VB2010 ist es ja recht einfach mit dem Server-Explorer Daten in Textboxen/Comboboxen/Datagridviews darzustellen.

    Wie macht ihr das, wenn ihr Daten von Datenbanken einliest bspw. in Textboxen anzeigt, den Benutzer diese ändern lasst und in der Datenbank abspeichert?
    Danke für deinen Link.

    Bisher habe ich die Daten einfach in ein Datatable geladen und von dort aus in die jeweiligen Textboxen, Comboboxen etc. Die Änderungen bzw. die Inhalte werden vor jedem Update des Datatableadapter in das Datatable zurück geschrieben. Hat bisher problemlos funktioniert.
    das sagtest du bereits in post#1

    aber probierma, vom Northwind-SampleProjekt den Bestellungen - View nachzuproggen.

    Wenn man Buttons und Filterung wegläßt, kommt man mit folgendem Code aus:

    VB.NET-Quellcode

    1. Imports NorthWind.NorthWindDts
    2. Imports System.Data.OleDb
    3. Public Class frmAccess
    4. Private Sub frmNorthWind_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
    5. Dim adp = New DatasetAdapter( _
    6. OleDbFactory.Instance, My.Settings.BestellungPrimConnectionString, _
    7. ConflictOption.OverwriteChanges)
    8. Me.AlignOnTop.NorthWindDts.Adapter(adp).Register(Me)
    9. AddHandler Me.FormClosing, NorthWindDts.HandleFormClosing
    10. Reload()
    11. End Sub
    12. Private Sub Reload()
    13. With NorthWindDts
    14. .Fill(.Artikel, .Kategorien, .Kunden)
    15. End With
    16. End Sub
    17. Private Sub KundenBindingSource_CurrentChanged(ByVal sender As Object, ByVal e As EventArgs) _
    18. Handles KundenBindingSource.CurrentChanged
    19. Dim rwKunde = KundenBindingSource.At(Of KundenRow)()
    20. If rwKunde.Null Then Return
    21. With NorthWindDts
    22. rwKunde.FillChildTables(.Bestellungen, .Bestelldetails)
    23. End With
    24. End Sub
    25. End Class

    und ohne LazyLoading isses nurnoch:

    VB.NET-Quellcode

    1. Imports NorthWind.NorthWindDts
    2. Imports System.Data.OleDb
    3. Public Class frmAccess
    4. Private Sub frmNorthWind_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
    5. Dim adp = New DatasetAdapter( _
    6. OleDbFactory.Instance, My.Settings.BestellungPrimConnectionString, _
    7. ConflictOption.OverwriteChanges)
    8. Me.AlignOnTop.NorthWindDts.Adapter(adp).Register(Me)
    9. AddHandler Me.FormClosing, NorthWindDts.HandleFormClosing
    10. NorthWindDts.Fill()
    11. End Sub
    12. End Class


    Probier das mal nachzubauen, dass dieselbe Funktionalität bei rauskommt.