Datenbankprogrammierung Daten übertragen Navigieren Visual Basic Datenbank

  • Sonstige

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    Datenbankprogrammierung Daten übertragen Navigieren Visual Basic Datenbank

    Hallo !
    (Die Klausuraufgabe lautet: Eine "kleine" Datenbank selbst erstellen.
    Erstellen Sie ein weiteres Formular in EInzelblattansicht, in dem Sie den Datenzugriff selbst programmieren. Dieses Formular enthält eine selbsterstellte Funktionalität zum Navigieren. )

    Ich habe eine kleine Datenbank mit zwei Tabellen erstellt, habe sie mit Hilfe des Assistenten zur Knofiguration von Datenquellen in ein neues Data Set übertragen, und zwischen den Tabellen eine Beziehung erstellt.
    Nun weiss ich nicht, wie ich die Daten in das Einzelblatt übertrage. Ich habe eben ein neues Form-Blatt mit Text-Boxen und Buttons mit Hilfe des Werkzeutkastens erstellt. Und folgenden Code geschrieben, aber er gibt mir immer bei "da.fill(dt)" eine Fehlermeldung, welche ich nicht weiss, wie sie zu beheben gilt. Vielleicht hat jemand einen Rat, ich hoffe dass es genug Hinweise sind, um die Fragestellung relativ klar darzustellen.....


    VB.NET-Quellcode

    1. Imports System.Data
    2. Public Class frmBearbeiten
    3. Dim dt As DataTable()
    4. Dim bs As New BindingSource
    5. Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
    6. Dim c As New SqlClient.SqlConnection
    7. c.ConnectionString = "Data Source= (LiteraturDB)\v11.0;" _
    8. & "AttachDbFilename=|DataDirectory|\LiteraturDB.mdf;" _
    9. & "Integrated Security=True;" _
    10. & "Connect Timeout=30;"
    11. c.Open()
    12. Dim da As New SqlClient.SqlDataAdapter
    13. da.SelectCommand = (New SqlClient.SqlCommand("SELECT * FROM Artikel", c))
    14. da.Fill(dt)
    15. c.Close()
    16. bs.DataSource = dt
    17. Dim b As Binding
    18. b = New Binding("Text", bs, "titel")
    19. txttitel.DataBindings.Add(b)
    20. b = New Binding("Text", bs, "genre")
    21. txtgenre.DataBindings.Add(b)
    22. End Sub
    23. Private Sub Navigation(ByVal sender As Object, ByVal e As EventArgs) Handles btnErster.Click, _
    24. btnvorheriger.Click, _
    25. btnErster.Click, _
    26. btnLetzter.Click
    27. Select Case sender.name
    28. Case Me.btnErster.Name
    29. bs.MoveFirst()
    30. Case Me.btnNächster.Name
    31. bs.MoveNext()
    32. Case Me.btnvorheriger.Name
    33. bs.MovePrevious()
    34. Case Me.btnLetzter.Name
    35. bs.MoveLast()
    36. End Select
    37. End Sub
    38. Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnSuchen.Click
    39. Dim pos As Integer
    40. pos = bs.Find("Titel", Me.txtSuchen.Text)
    41. If pos > -1 Then bs.Position = pos
    42. End Sub
    43. End Class
    Fehler 1 Fehler bei der Überladungsauflösung, da keine zugreifbare "Fill" mit diesen Argumenten aufgerufen werden kann:
    "Public Function Fill(dataTable As System.Data.DataTable) As Integer": Der Wert vom Typ "1-dimensionales Array von System.Data.DataTable" kann nicht in "System.Data.DataTable" konvertiert werden.
    "Public Overrides Function Fill(dataSet As System.Data.DataSet) As Integer": Der Wert vom Typ "1-dimensionales Array von System.Data.DataTable" kann nicht in "System.Data.DataSet" konvertiert werden. C:\Users\Marco\Documents\Visual Studio 2012\Projects\vbdn\Ordner 15\LiteraturDB\LiteraturDB\Form1.vb 20 9 LiteraturDB