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!!!
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!!!