com.microsoft.sqlserver.jdbc.SQLServerException: 索引 3 超出范围。异常。求高手帮忙解决下

bdqn_liyatao bdqn_liyatao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
/**
* @author admin
* @param Dog 宠物对象 根据宠物信息添加宠物对象
* @return int
* */
@Override
public int insertDog(Dog dog) throws Exception {
int result =0;
connection=getConnection();
pStatement=connection.prepareStatement("insert into dog(name,health,love,strain)values('?',?,?,'?')");
pStatement.setString(1, dog.getName());
pStatement.setInt(2, dog.getHealth());
pStatement.setInt(3, dog.getLove());
pStatement.setString(4, dog.getStrain());
result=pStatement.executeUpdate();
this.closeAll(null, pStatement, connection);
return result;
}

异常信息:
com.microsoft.sqlserver.jdbc.SQLServerException: 索引 3 超出范围。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:130)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setterGetParam(SQLServerPreparedStatement.java:667)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setValue(SQLServerPreparedStatement.java:676)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setInt(SQLServerPreparedStatement.java:826)
at com.jbit.pet.impl.DogDaoImpl.insertDog(DogDaoImpl.java:76)
at com.jbit.pet.test.TestAddDog.main(TestAddDog.java:42)


我感觉是sql语句单引号与占位符的原因,究竟为什么不知道,求高手帮忙解决下。
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
bdqn_liyatao
Eclipse 58,439 成员 49,457 内容