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

bdqn_liyatao 2013-04-04 06:33:42
/**
* @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语句单引号与占位符的原因,究竟为什么不知道,求高手帮忙解决下。
...全文
833 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
a1216164960 2013-04-08
  • 打赏
  • 举报
回复
同意楼上。。。
yangzhiyong1314 2013-04-08
  • 打赏
  • 举报
回复
values('?',?,?,'?')");去掉单引号

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧