jdbc DatabaseMetaData 接口的getColumns方法 数值型列长度的问题

jstat 发布于 2012/11/23 19:40
阅读 2K+
收藏 0
DatabaseMetaData metaData= con.getMetaData();

rs = metaData.getColumns(null,metaData.getUserName(), tableName.toUpperCase(), null);

rs.getInt("COLUMN_SIZE")

数值型获得的长度适中是10

数据库是mysql

加载中
0
FoxHu
FoxHu
那可能你表中的int字段长度设定的就是10, 把建表语句贴出来看看!
0
jstat
jstat

原因找到了mysql的int 精度就是11 去掉一个表示正负的符号 就是10 我们设置的是显示宽度

好好先生Stefan
好好先生Stefan
你好,我设置的是3,结果,读取出来的10,这是什么原因,烦请赐教
0
happysoul
happysoul

最近搞这玩意 发现你这个方法获取到的是 存储用的字节长度 并不是 字段长度

举例 varchar(10) 和 nvarchar (10)显示的长度会变成 10 和 20 

时间戳也会有问题

好好先生Stefan
好好先生Stefan
你好,你是怎么解决这个问题的呢
0
测试007
测试007

求最后怎么解决的这个问题 我也遇到了这个问题 怎么获取列的长度啊 getPrecision要是获取int的 就是返回最大值啊

返回顶部
顶部