DaveS schrieb:
Zitat: | | Nun, zu dem relevanten Punkt, ich habe bestimmt nichts
sabotiert, lediglich irgendwann darauf aufmerksam gemacht,
dass wie sehr wohl das Thema typisierten Dataset (unendlich
mal) im Ado.Net/DB Forum behandelt haben. | |
Also ich hab jetzt die ganze erste Seite des DB-Forums umgepflügt, und fand nur eine Frage, bei der der Code die Verwendung eines typisierten Datasets erkennen lies, und die Problemlösung hatte garnix damit zu tun: http://www.vbarchiv.net/forum/id24_i19552t19552_sql-tabelleneintrag-sperre.html
Dann gabs noch einen einzigen Post, wo das Thema Databinding an typDataset zumindest am Rande erwähnt wurde: http://www.vbarchiv.net/forum/id24_i19499t19496_vb-2008-datenbank-access-fehler-zu-viele-argumente.html
Das ist die gesamte Ausbeute zum Thema typisiertes Dataset im vb@rchiv-ADO.Net-Forum, seit 23.3.13
Ich sag einfach nur meinen Eindruck, und meine Meinung, und kann die immer auch begründen - andernfalls nehme ich sie auch zurück.
Zitat: | | Ein Dataset, typisert oder nicht ist bestimmt keine OOP Darstellung einer Datenbank.
[...]
Um diese Daten abzufragen geht man nicht in OOP Art vor, was verlinkte Objekte über Referenzen voraussetzen würde. | |
Naja - jetzt müsste man Datenbank definieren, und was "Darstellung einer Datenbank" bedeutet.
Jedenfalls ermöglicht Dataset ein relationales Datenmodell im OOP-Sprach-Kontext zu verarbeiten.
Und beim typisierten Dataset ist das relationale Datenmodell auch typisiert.
Die typisierten DataRows lassen sich problemlos nach allen Regeln von OOP abrufen - die typisierten DataRows sind absolut über Objekt-Referenzen miteinander verknüpft.
Hier Beispiel-Code: Private Sub personNachBerufToolStripMenuItem_Click(sender As Object, e As _
EventArgs) Handles personNachBerufToolStripMenuItem.Click
Dim OutputLines As New List(Of String)()
For Each rwBeruf As BerufRow In NewDataset.Beruf
OutputLines.Add(rwBeruf.bezeichnung & ": ")
For Each rwPersonBeruf As PersonBerufRow In rwBeruf.GetPersonBerufRows( _
)
'Person-Namen eingerückt
OutputLines.Add(" " & rwPersonBeruf.PersonRow.Name)
Next
Next
MessageBox.Show(String.Join(Environment.NewLine, OutputLines.ToArray), _
"Person nach Beruf")
End Sub
Private Sub berufNachPersonToolStripMenuItem_Click(sender As Object, e As _
EventArgs) Handles berufNachPersonToolStripMenuItem.Click
Dim OutputLines As New List(Of String)()
For Each rwPerson As PersonRow In NewDataset.Person
OutputLines.Add(rwPerson.Name & ": ")
For Each rwPersonBeruf As PersonBerufRow In _
rwPerson.GetPersonBerufRows()
'Berufsbezeichnungen eingerückt
OutputLines.Add(" " & rwPersonBeruf.BerufRow.bezeichnung)
Next
Next
MessageBox.Show(String.Join(Environment.NewLine, OutputLines.ToArray), _
"Berufe nach Person")
End Sub Ich hoffe es ist erkennbar: Die erste Methode gruppiert die Personen nach Berufen, und die 2. gruppiert die Berufe nach Personen.
Das ist OOP, was sonst, und ist aber gleichzeitig die Verarbeitung einer m:n - Relation (was mit klassischem OOP nicht so einfach möglich ist) und ist vom Prinzip her die Lösung des hier von csc101 angesprochenen Problems: http://www.vbarchiv.net/forum/id22_i93519t93519_arraylisten-und-structure.html
(Rechtschreibfehler urheberrechtlich geschützt) |