首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

java.sql.SQLException: ORA-01722: 无效数字

2014-01-26 
java.sql.SQLException: ORA-01722: 无效数字 解决方法!Java codeString sql4select b_id from boss_info

java.sql.SQLException: ORA-01722: 无效数字 解决方法!

Java code
  String sql4="select b_id from boss_info where username='"+username+"'";rs2=stmt.executeQuery(sql4);if(rs2.next()){   [color=#FF0000]Integer bb_id=rs2.getInt("b_id");[/color]      String sql3=" insert into hotel_info(h_id,b_id,h_name,h_privence,h_city,h_address,username) values(REGISTER.nextval,?,?,?,?,?,?)";   pst=conn.prepareStatement(sql3);   pst.setString(1,h_name);   [color=#FF0000]pst.setInt(2,bb_id);[/color]   pst.setString(3,h_privence);   pst.setString(4,h_city);   pst.setString(5,h_address);    pst.setString(6,username);   


b_id在数据库中是number类型的字段,该怎么转化这个类型啊?oracle Datebase

------解决方法--------------------------------------------------------
Integer bb_id=rs2.getInt("b_id");
pst.setInt(2,bb_id);


Integer 不等于 int
pst.setInt(2,bb_id.getInt..())


而且 number 是不是应该转换成 decimal类型


------解决方法--------------------------------------------------------

ResultSet对象返回的一个int基础类型,应该是不可以直接转化为Integer对象的吧?
------解决方法--------------------------------------------------------
单写个测试程序只执行这一句sql,把值写死分析
还不行的话 换个高版本的驱动。
------解决方法--------------------------------------------------------
会不会REGISTER.nextval是无效的数字?
------解决方法--------------------------------------------------------
 

探讨
会不会REGISTER.nextval是无效的数字?


------解决方法--------------------------------------------------------
你oracle中number类型给出范围没有
要是没有给就会出这个问题
要不就是你的sequence没有生效
sequence没有生效也有这个问题
仔细检查一下吧

        

热点排行