JDBC ResultSet - 无法检索别名列

时间:2012-10-16 08:06:55

标签: java sql jdbc

我们有以下SQL-Query:

select Resa.ResID, Avgångdatum, Avgångtid, AvgångStad, AnkomstTid, AnkomstDatum, AnkomstStad, AntalPlatser, Kostnad,

    (select sum(Bokning.AntalBiljetter) from Bokning where Bokning.ResID = Resa.ResID) as EnkelBiljetter,

    (select sum(Bokning.AntalBiljetter) from Bokning where Resa.ResID in
        (select PaketResa.ResID from PaketResa where PaketResa.PaketID in
            (select PaketID from PaketResa where PaketResa.PaketID = Bokning.PaketID))) as PaketBiljetter

from Resa;

当我们尝试在java中获取“Enkelbiljetter”和“PaketBiljetter”列时,

Integer.parseInt(result.getObject("PaketBiljetter").toString()

它返回nullpointerexception。我们尝试将“?useOldAliasMetadataBehavior=true”添加到connection-statement但结果是一样的。也没有将columnindex(10和11)放在getObject方法中。我们正在使用5.1.19 JDBC驱动程序。有什么建议?

1 个答案:

答案 0 :(得分:2)

可能是您的resultgetObject(...)返回空指针。由于有getInt()方法,您应首先尝试:

result.getInt("PaketBiljetter")

看看会发生什么。