sql >> Databáze >  >> RDS >> Oracle

JDBC ResultSet získat sloupce s aliasem tabulky

JDBC jednoduše pojmenuje sloupce podle toho, co je uvedeno v dotazu - nezná názvy tabulek atd.

Máte dvě možnosti:

Možnost 1: Sloupce v dotazu pojmenujte jinak, tj

SELECT
    a.columnName as columnNameA,
    b.columnName as columnNameB,
    ...
from table1 a, table2 b where (WHATEVER)

pak ve svém kódu java přejděte do sloupce aliasy:

resultSet.getString("columnNameA");
resultSet.getString("columnNameB");


Možnost 2: Viz sloupec pozice ve vašem volání rozhraní JDBC API:

resultSet.getString(1);
resultSet.getString(2);

Všimněte si, že rozhraní JDBC API používá založené na jednom indexy - tj. počítají od 1 (ne z 0 jako java indexy), takže použijte 1 pro první sloupec 2 pro druhý sloupec atd


Doporučuji možnost 1, protože je bezpečnější odkazovat na pojmenované sloupce:Někdo může změnit pořadí sloupců v dotazu a tiše by to narušilo váš kód (přistupovali byste ke špatnému sloupci, ale nevěděli byste to) , ale pokud změní názvy sloupců, dostanete za běhu alespoň výjimku „žádný takový sloupec“.



  1. Spojte 3 tabulky v SQL

  2. Jak předat parametr s hodnotou tabulky z C# do uložené procedury Oracle

  3. Manipulace s databázemi SQL pomocí PyQt:Základy

  4. Jak vrátit duplicitní klíče z dokumentu JSON na SQL Server