resultSet.getInt()返回包含两个整数的字符串的值

Dav*_*ber 4 java jdbc resultset

我需要根据从JDBC调用生成的结果集来解析通常包含整数的数据库列的值.但是,列的一个特定行中有两个整数(即"48,103").resultSet.getInt()在该列上的返回值是多少?

And*_*yle 5

你几乎肯定会得到一个SQLException(或者可能是一个NumberFormatException)。实际接口只是说结果集将返回“指定列的值......作为int”。确切的细节将是特定于实现的,但我怀疑您会从"48, 103".

(我个人认为,如果驱动程序允许您getInt在任何情况下调用该列,即使对于“合理”值也是错误的。字符串不是 int,即使它是 int 的字符串表示形式,并且应该完成转换由开发人员手动操作。)


Coo*_*ans 5

它会引发异常.

我认为你在这里采取了错误的做法.本getXXX()应该是匹配表的数据类型.表中的数据类型是否列为VARCHAR?如果是这种情况,你应该使用getString()获取数据,然后使用String.spilt(",")解析它(如果,存在)(你可以使用String.indexOf()来验证是否存在逗号).