SQL 错误: 索引中丢失 IN 或 OUT 参数:: 1


以上错误的原因是:sysdate 位置没有占位符号“?”但是你在用PreparedStatement SET 参数的时候把这个位置算进去了,那么就会抛出:
SQL 错误: 索引中丢失  IN 或 OUT 参数:: 1


PreparedStatement.setXXX(INDEX,VALUE),中的INDEX是连续的123......,假如你SQL中有sysdate

这样的值或者表达式,那么在PreparedStatement设置值时它的位置是不能算的。

String addMeltSnowMaterialSQL = "insert into SNOW_MATERIAL_WAREHOUSE_IN" +
"(ID," +
"INPUT_INSTITUTION," +
"SALT," +
"SOLID_MELT_SNOW," +
"LIQUID_MELT_SNOW," +
"ORGNAME," +
"INPUT_PEOPLE," +
"INPUT_DATE," +
"IS_ADD," +
"IS_STOCK," +
"STATUS) " +
"values(?,?,?,?,?,?,?,sysdate,?,?,'1')";

pst = DBCommon.getPsm(conn, addMeltSnowMaterialSQL);
pst.setInt(1, id);
pst.setString(2, meltSnowMaterial.getInstitution());
pst.setString(3, meltSnowMaterial.getSalt());
pst.setString(4, meltSnowMaterial.getSolidMeltSnow());
pst.setString(5, meltSnowMaterial.getLiquidMeltSnow());
pst.setString(6, meltSnowMaterial.getOrgName());
pst.setString(7, meltSnowMaterial.getPeople());
pst.setString(8, meltSnowMaterial.getIsAdd());
pst.setString(9, meltSnowMaterial.getIsStock());
pst.executeUpdate();
本站评论列表

评论内容请遵守相关法律法规,所有评论内容人工审核,一旦确定为垃圾评论,永久禁止用户发言。
使用qq免注册登陆:使用qq登陆
      
本站声明
本文转载自:ITEYE博客频道     作者:ohMyG    发布日期:2015-09-11
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。


 
© 2014-2016 ITdaan.com 粤ICP备14056181号