互联网金融风险分类:JAVA PreparedStatement 用法求教

来源:百度文库 编辑:高考问答 时间:2024/04/28 10:45:18
我用的是oracle数据库,使用PreparedStatement的时候,里面有一个number类型的条件IN (?) , 使用pstmt.setStrin(1, "'1','2','3','23'");或者pstmt.setString(31, "1,2,3,23");都会出错,报的是java.sql.SQLException: ORA-01722: invalid number,请大家指点。

你可能类型不一致,导致SQL抛异常!问题可能:1.首先你SQL语句中的number IN (?) 对应的问号跟你设进去的值要对应,如select * from table where number=? and id=?;第一个?是从0开始的;然后你设值的时候,必须是pstmt.setInt(0,1),pstmt.setString(1,"000001") 或pstmt.setString(0,1),pstmt.setString(1,"000001") number的类型要对应,如你数据定义的是INT,在类里定义也要INT