DataTable in DataTable

  • VB.NET
  • .NET (FX) 4.0

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

    DataTable in DataTable

    Hi Leute,

    ich finde leider keine Lösung für mein Problem. Ich würde gern eine Datenbank erstellen. dabei soll die DataTable in einem DataSet eine andere DataTable des selben DataSet enthalten. Leider kann ich nicht den DataTyp der Tabelle ändern.



    Wie stelle ich das ganze an? Oder hat evtl jemand einen besseren vorschlag für ne verschachtelte datenbank?

    MfG
    B4dP2o
    Sehr eigentümlicher Wunsch. Was soll denn das Ziel sein?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Vielleicht hat er eine Idee vom Ziel, drückt sich aber zu verquer aus, als dass ein Datenbänker sicher verstünde, wasser meint.

    @TE: ich hab Tut gemacht zu relationale Datenmodellierung. Da gibt es etwas, wo jeder Parent-Datensatz Zugriff auf mehrere ChildDatensätze hat. Es ist nicht eine Tabelle in einer anderen, aber mit Verschachtelung hat das durchaus zu tun.
    gugge Relationale Datenmodellierung


    (Übrigens mit Datenbank direkt hat das auch nichts zu tun, sondern ist Vorraussetzung davon. Und prophylaktisch rate ich schoma dringend davon ab, dass du mit Datenbank anfängst, bevor die Grundlagen dafür gelegt sind, und v.a. ühaupt die Begriffe bekannt sind.)
    Sagt euch die guild wars 2 API etwas? also zum Beispiel hat ein Charakter mehrere Taschen. die haben eine id, slots und dann das inventar pro tasche. pro slot dann die items die auch jeweils id, anzahl usw. als eigenschaften haben.

    hab das bereits einmal so gemacht:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class Datenbank
    2. <DataMember(Name:="Währungen")>
    3. Public Property Währung As New List(Of DB_Währung)
    4. <DataMember(Name:="Items")>
    5. Public Property Item As New List(Of DB_Item)
    6. Public Class DB_Währung
    7. '=========================
    8. <DataMember(Name:="ID")>
    9. Public Property ID As Integer
    10. '=========================
    11. <DataMember(Name:="Name")>
    12. Public Property Name As String
    13. '=========================
    14. <DataMember(Name:="Beschreibung")>
    15. Public Property Beschreibung As String
    16. '=========================
    17. <DataMember(Name:="Iconlink")>
    18. Public Property Iconlink As String
    19. '=========================
    20. <DataMember(Name:="Icon_downloaded")>
    21. Public Property Icon_downloaded As Boolean
    22. '=========================
    23. End Class
    24. Public Class DB_Item
    25. '=========================
    26. <DataMember(Name:="ID")>
    27. Public Property ID As Integer
    28. '=========================
    29. <DataMember(Name:="Name")>
    30. Public Property Name As String
    31. '=========================
    32. <DataMember(Name:="Type")>
    33. Public Property Type As String
    34. '=========================
    35. <DataMember(Name:="Level")>
    36. Public Property Level As Integer
    37. '=========================
    38. <DataMember(Name:="Seltenheit")>
    39. Public Property Seltenheit As String
    40. '=========================
    41. <DataMember(Name:="Chatlink")>
    42. Public Property Chatlink As String
    43. '=========================
    44. <DataMember(Name:="Iconlink")>
    45. Public Property Iconlink As String
    46. '=========================
    47. End Class
    48. End Class


    und auch als json abgespeichert. allerdings gibts beim laden immer probleme. deswegen such ich nach einer möglichkeit um auch soetwas sinnvoll abspeichern zu können:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. ​Public Class Primär
    2. '=========================
    3. <DataContract(Name:="Account")>
    4. Public Class Account
    5. '=========================
    6. <DataMember(Name:="API_Key")>
    7. Public Property API_Key As String
    8. '=========================
    9. <DataMember(Name:="ID")>
    10. Public Property ID As String
    11. '=========================
    12. <DataMember(Name:="Name")>
    13. Public Property Name As String
    14. '=========================
    15. <DataMember(Name:="Alter")>
    16. Public Property Alter As Integer
    17. '=========================
    18. <DataMember(Name:="Erstellt")>
    19. Public Property Erstellt As String
    20. '=========================
    21. <DataMember(Name:="Welt")>
    22. Public Property Welt As Integer
    23. '=========================
    24. <DataMember(Name:="Zugang")>
    25. Public Property Zugang As String
    26. '=========================
    27. <DataMember(Name:="Gilden")>
    28. Public Property Gilden As New List(Of Primär.Gilde)
    29. '=========================
    30. <DataMember(Name:="Kommandeur")>
    31. Public Property Kommandeur As Boolean
    32. '=========================
    33. <DataMember(Name:="Fraktal_LVL")>
    34. Public Property Fraktal_LVL As Integer
    35. '=========================
    36. <DataMember(Name:="Daily_AP")>
    37. Public Property Daily_AP As Integer
    38. '=========================
    39. <DataMember(Name:="Monthly_AP")>
    40. Public Property Monthly_AP As Integer
    41. '=========================
    42. <DataMember(Name:="WvW_Rang")>
    43. Public Property WvW_Rang As Integer
    44. '=========================
    45. <DataMember(Name:="Charaktere")>
    46. Public Property Charaktere As New List(Of Charakter)
    47. '=========================
    48. End Class
    49. '=========================
    50. Public Class Gilde
    51. '=========================
    52. <DataMember(Name:="ID")>
    53. Public Property ID As String
    54. '=========================
    55. <DataMember(Name:="Name")>
    56. Public Property Name As String
    57. '=========================
    58. <DataMember(Name:="TAG")>
    59. Public Property TAG As String
    60. '=========================
    61. <DataMember(Name:="LVL")>
    62. Public Property LVL As Integer
    63. '=========================
    64. <DataMember(Name:="Leader")>
    65. Public Property Leader As Boolean
    66. '=========================
    67. <DataMember(Name:="Einfluss")>
    68. Public Property Einfluss As Integer
    69. '=========================
    70. <DataMember(Name:="aetherium")>
    71. Public Property aetherium As Integer
    72. '=========================
    73. <DataMember(Name:="resonance")>
    74. Public Property resonance As Integer
    75. '=========================
    76. <DataMember(Name:="favor")>
    77. Public Property favor As Integer
    78. '=========================
    79. <DataMember(Name:="Mitglieder_Anzahl")>
    80. Public Property Mitglieder_Anzahl As Integer
    81. '=========================
    82. <DataMember(Name:="Mitglieder_Maximum")>
    83. Public Property Mitglieder_Maximum As Integer
    84. '=========================
    85. '<DataMember(Name:="Mitglieder")>
    86. 'Public Property Mitglieder As New List(Of Gildenmitglied)
    87. '=========================
    88. End Class
    89. '=========================
    90. Public Class Charakter
    91. '=========================
    92. <DataMember(Name:="Name")>
    93. Public Property Name As String
    94. '=========================
    95. <DataMember(Name:="Erstellt")>
    96. Public Property Erstellt As String
    97. '=========================
    98. <DataMember(Name:="Alter")>
    99. Public Property Alter As Integer
    100. '=========================
    101. '...
    102. '=========================
    103. <DataMember(Name:="Taschen")>
    104. Public Property Taschen As New List(Of Tasche)
    105. '=========================
    106. End Class
    107. Public Class Tasche
    108. '=========================
    109. <DataMember(Name:="ID")>
    110. Public Property ID As Integer
    111. '=========================
    112. <DataMember(Name:="Name")>
    113. Public Property Name As String
    114. '=========================
    115. <DataMember(Name:="Größe")>
    116. Public Property Größe As Integer
    117. '=========================
    118. <DataMember(Name:="Inventar")>
    119. Public Property Inventar As New List(Of Inventar)
    120. '=========================
    121. End Class
    122. Public Class Inventar
    123. '=========================
    124. <DataMember(Name:="ID")>
    125. Public Property ID As Integer
    126. '=========================
    127. <DataMember(Name:="Name")>
    128. Public Property Name As String
    129. '=========================
    130. <DataMember(Name:="Stk")>
    131. Public Property Stk As Integer
    132. '=========================
    133. <DataMember(Name:="binding")>
    134. Public Property Bindung As String
    135. '=========================
    136. End Class
    137. End Class
    Klingt sehr nach: in der Tabelle »Datenbank« sollen alle Währungen enthalten sein, die in der Tabelle »Währung« festgelegt werden/wurden. Dass dies über IDs läuft, scheint dem TE noch nicht bewusst zu sein. Aber wenn er erstmal auch die Videos zu den vier Views geschaut hat, dürfte alles klar(er) werden.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.