java jdbc处理char_有关JDBC 无法获取到Oracle的char字段数据的问题

深夜,同学发来求助讯息,经过了解得知:同学在使用JDBC连接Oracle数据库时,使用SQL语句死值可以正常获取到数据,但是一但把条件值都换成?,然后通过Preparement实例的setString方法注入SQL语句时,就出现查询不到任何内容的情况。

在经过了大约3个小时的折腾之后,发现同学在Oracle数据库中的相关表的各字段类型都是char类型,而我们一般都是用varchar类型。

【char类型和varchar类型的区别】:char类型是定长,字符不够空格来凑,最长可存2000个字符。

varchar类型是变长,输入多少就是多少,最长可存4000个字符。

经过尝试,确定了Preparement实例的setString方法无法获取到Oracle数据库中相关表中的char类型字段,即使直接在表中有数据的情况下把相关字段的char类型修改为varchar类型,也不好使,推测是Oracle数据库内部存在的某种格式转换机制的兼容性问题吧,没有深究。

重新建表,把相关字段设置成varchar类型,测试好用!

所以,在学习java调用数据库时,建议Oracl.........

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值