Hi erstmal,
ich habe ein Dataset mit 4 Tabellen. In der Tabelle Musik sind von den anderen 3 Fremdschlüssel drin. Ich habe die Klasse DataRealtion verwendet um im Dataset die Beziehungen herzustellen, da sie mir in der Datenbank fehlen.
Nun hab ich probiert das Dataset als Bindingsource für Textboxen zu binden. Es wird mir beim Start auch alles hübsch angezeigt leider funktioniert die Methode MoveNext nicht.
Hier mal der Code. Die Kommentare bitte ignorieren hab ein paar Änderungen am Code vorgenommen.
'Tabelle Musik
Dim SQLSelectMusik As String
SQLSelectMusik = "SELECT * FROM Musik"
cMusik.Connection = conn
cMusik.CommandText = SQLSelectMusik
daMusik.SelectCommand = cMusik
'Tabelle Datenträger
Dim SQLSelectDatenträger As String
SQLSelectDatenträger = "SELECT * FROM Datenträger"
cDatenträger.Connection = conn
cDatenträger.CommandText = SQLSelectDatenträger
daDatenträger.SelectCommand = cDatenträger
'Tabelle Kategorie
Dim SQLSelectKategorie As String
SQLSelectKategorie = "SELECT * FROM Kategorie"
cKategorie.Connection = conn
cKategorie.CommandText = SQLSelectKategorie
daKategorie.SelectCommand = cKategorie
'Tabelle Zustand
Dim SQLSelectZustand As String
SQLSelectZustand = "SELECT * FROM Zustand"
cZustand.Connection = conn
cZustand.CommandText = SQLSelectZustand
daZustand.SelectCommand = cZustand
Try
connstate(conn)
'Datatable leeren falls mehrmals auf den Button geklickt wird
dsMusik.Clear()
'die Datatables mit Inhalt füllen
daMusik.Fill(dsMusik, "Musik")
daDatenträger.Fill(dsMusik, "Datenträger")
daKategorie.Fill(dsMusik, "Kategorie")
daZustand.Fill(dsMusik, "Zustand")
conn.Close()
Catch ex As Exception
MessageBox.Show("Fehler: " & ex.Message)
Finally
'die Verbindung wird unwiderruflich geschlossen
conn.Dispose()
End Try
'Relationen im Dataset setzen
'Datenträger
keycolP = dsMusik.Tables("Datenträger").Columns("IDDatenträger")
keycolF = dsMusik.Tables("Musik").Columns("IDDatenträgerMusik")
drDatenträger = New DataRelation("DatenträgerMusik", keycolP, keycolF)
'Kategorie
keycolP = dsMusik.Tables("Kategorie").Columns("IDKategorie")
keycolF = dsMusik.Tables("Musik").Columns("IDKategorieMusik")
drKategorie = New DataRelation("KategorieMusik", keycolP, keycolF)
'Zustand
keycolP = dsMusik.Tables("Zustand").Columns("IDZustand")
keycolF = dsMusik.Tables("Musik").Columns("IDZustandMusik")
drZustand = New DataRelation("ZustandMusik", keycolP, keycolF)
Try
'Datatable an BindingSource binden
bsMusik.DataSource = dsMusik
'Elemente neu binden
lMusikID.DataBindings.Add("Text", bsMusik, "Musik.IDMusik")
tbInterpret.DataBindings.Add("Text", bsMusik, "Musik.Interpret")
tbLabelnummer.DataBindings.Add("Text", bsMusik, "Musik.Labelnummer")
tbDatumm.DataBindings.Add("Text", bsMusik, _
"Musik.Erscheinungsdatum")
tbLandm.DataBindings.Add("Text", bsMusik, "Musik.Land")
tbKategoriem.DataBindings.Add("Text", bsMusik, _
"Kategorie.Kategorie")
tbDatenträgerm.DataBindings.Add("Text", bsMusik, _
"Datenträger.Datenträger")
tbZustandm.DataBindings.Add("Text", bsMusik, "Zustand.Zustand")
rtbKommentarm.DataBindings.Add("Text", bsMusik, "Musik.Kommentar")
Catch ex As Exception
MessageBox.Show("Fehler: " & ex.Message)
End Try Kann mir jemand sagen wie ich das Problem löse? Oder hat jemand einen guten Tip wie ich einen anderen Weg gehen kann? |