# ResultSet und doppelte Spalten



## thE_29 (17. Jun 2008)

Hallo!

Wie kann ich bei einem ResultSet wo Spalten doppelt vorkommen auf das 2te zugreifen (ohne Index).


Also mit getInt(POSITION) gehts natürlich! Ich weiß aber nur den Spaltennamen! Rufe ich diese Methode auf (getInt("reg")) dann wirft es beim 2ten Zugriff eine Exception!

Selbst wenn ich im select so sage "select a.reg, b.reg from table a,table b" kann ich nicht mit a.reg oder b.reg den Wert rausholen!


Kennt hier jemand abhilfe oder muss ich mit dem Leben, dass das nicht funktionieren wird?


----------



## maki (17. Jun 2008)

Spalten doppelt? 

Werte oder Namen der Spalte?

Würde es mal mit einem Alies versuchen, zB:


```
select 
    a.reg as areg, 
    b.reg as breg
from table a,table b
```

Danach kannst du mit areg bzw. breg auf die Spalten  zugreifen.


----------



## SlaterB (17. Jun 2008)

ansonsten vielleicht auch noch einen kleinen Analyse-Zusatz bauen,
der am Anfang einmal die Spalten des ResultSets analysiert 
und dann die Zugriffe getInt(Spaltenname) in den korrekten Index übersetzt


----------



## thE_29 (18. Jun 2008)

@maki: Ich kann nicht bestimmen wie der select Befehl aussehen soll! Er soll einfach die items fetchen!

@SlaterB: Tjo, werde es woll so machen müssen (über die Metadaten) und so den index rausholen..

edit: Verdammt, es geht mit den Metadaten ja auch nicht! Ich weiß ja nicht ob ich den ersten Spaltenname will oder den 2ten! Weil ich für jede Tabelle einzeln damit aufrufe...


----------



## SlaterB (18. Jun 2008)

> Ich weiß ja nicht ob ich den ersten Spaltenname will oder den 2ten

dann funktioniert ja die Abfrage an sich nicht, egal wer was anbietet,

anfangs hattest du noch gesagt, dass du zweimal den gleichen Namen aufrufst und dass der zweite Zugriff die zweite derartige Spalte sein soll,
dass ließe sich durch mitzählen realisieren


----------

