我是靠谱客的博主 忧虑睫毛,最近开发中收集的这篇文章主要介绍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();

最后

以上就是忧虑睫毛为你收集整理的SQL 错误: 索引中丢失 IN 或 OUT 参数:: 1的全部内容,希望文章能够帮你解决SQL 错误: 索引中丢失 IN 或 OUT 参数:: 1所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部