Eindeutige Spaltennamen bei Abfrage mit JOIN

  • VB.NET
  • .NET (FX) 4.0

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von nauralos.

    Eindeutige Spaltennamen bei Abfrage mit JOIN

    Hi zusammen,

    ich kämpfe mich seit mehreren Stunden durch die Suchergebnisse von Google, aber irgendwie scheint es mein Problem auf der ganzen Welt nicht nochmal zu geben oder gegeben zu haben. Unter VB 6 (lange ist es her) hatte man bei einer SQL Abfrage mit SELECT * und mehreren JOINS über ADODB im Resultset die Tabellennamen als Prefix vor den Spaltennamen stehen und konnte so eindeutig auf die eine oder die andere Spalte zugreifen.

    Beispiel:
    SELECT * FROM table1 LEFT JOIN table2 ON table1.ID = table2.ID ORDER BY table2.ID
    Das Resultset konnte (bei VB6 mit ADODB) nun zum einen über rst.Field("table1.ID").Value auf den Wert der Spalte "ID" aus der table1 zugreifen und mit rst.Field("table2.ID").Value auf den Wert der Spalte "ID" aus der table2.

    Die gleiche Abfrage mit VB.NET und ADODB kann das nicht. Fehlermeldung ala "Feld unbekannt". Schleife über rst.Fields.Item(zaehler).Name zeigt, dass das Recordset nur noch "ID" (zwei mal) als Name enthält und nicht mehr "table1.ID" und "table2.ID".

    Gibt es einen Trick/Parameter, mit dem man den Tabellennamen als Prefix erhält oder geht das bei VB.NET garnicht mehr? Dann müsste man ja irgendwie die Logik komplett ändern oder über die gesamte Datenbank-Struktur jeden Spaltennamen eindeutig halten...

    Danke vorab für hilfreiche Antworten!!!
    in .Net befüllt man keine Recordsets mehr.
    Entweder man verwendet Entityframwork oder typisiertes Dataset. Ein typDataset ist ein Daten-Cache, der von der DB mittels DataAdapter befüllt bzw. rückgespeichert wird. gugge
    Forms over Data Videos
    "Datenbank in 10 Minuten" auf Movie-Tuts

    Mit typDataset oder EF eröffnen sich auch Möglichkeiten von Databinding in einem unvorstellbaren Ausmass (wörtlich gemeint: wenn mans noch nie gesehen hat, kannmans sich nicht vorstellen): vier Views-Videos