概述
以上错误的原因是: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();
最后
以上就是忧虑睫毛为你收集整理的SQL 错误: 索引中丢失 IN 或 OUT 参数:: 1的全部内容,希望文章能够帮你解决SQL 错误: 索引中丢失 IN 或 OUT 参数:: 1所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复