我们有下面的SQL查询:
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
”添加到连接语句中,但结果是相同的。也不会将columnindex(10和11)放入getObject方法中。我们正在使用5.1.19 JDBC驱动程序。有什么建议么? 最佳答案
它可能是您的result
或getObject(...)
返回空指针。由于有一个getInt()
方法,您应该首先尝试以下方法:
result.getInt("PaketBiljetter")
看看会发生什么。
关于java - JDBC ResultSet-无法检索别名列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12910133/