gpt4 book ai didi

java - db2 驱动程序为smallint 返回java.lang.Integer

转载 作者:行者123 更新时间:2023-11-30 04:59:46 26 4
gpt4 key购买 nike

while(rs.next()){
Object o = rs.getObject(i);
System.out.println(o.getClass()); //prints java.lang.Integer
}

问题是我在数据库中有一个smallint类型,并且驱动程序返回一个Integer类型。我在运行时执行一些逻辑,然后尝试使用之前由数据库传递的类型将值插入数据库中。

我希望 DB2 返回一个 java.lang.Short,但我不确定这是否可能。

以前有人遇到过这种情况吗?您采取了什么解决方法?

基本问题是 - 我在 DB2 数据库中既有 int 列,也有smallint 列,我需要我的 java 代码根据结果集找出哪个列。

谢谢。

最佳答案

不要依赖返回的 Java 对象的类型,而是向结果集询问列的实际数据库类型:

String databaseTypeName = resultSet.getMetadata().getColumnTypeName(columnIndex);

int sqlType = resultSet.getMetadata().getColumnType();
boolean isSmallInt = (sqlType == Types.SMALLINT);

参见http://download.oracle.com/javase/6/docs/api/java/sql/ResultSetMetaData.html 。 javadoc 是非常有值(value)的信息来源!

关于java - db2 驱动程序为smallint 返回java.lang.Integer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7234922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com