我在该方法中调用自定义函数,向表中插入数据。可是在执行的时候抛出了:
java.lang.StringIndexOutOfBoundsException: String index out of range: 27
异常。
方法如下:
//注册用户
public boolean addUser(User user) throws Exception {
try
{
//数据库连接对象
conn = LinkedDB.getInstance();
//预处理
CallableStatement state = conn.prepareCall("{?=call paymoney(?,?,?,?,?)");
//注册返回结果
state.registerOutParameter(1, Types.INTEGER);
//设置用户姓名
state.setString(2, user.getUser_name());
//设置用户密码
state.setString(3, user.getPassword());
//设置用户地址
state.setString(4, user.getAddress());
//设置用户手机号
state.setString(5, user.getUser_phone());
state.setString(6, user.getUser_postalcode());
//执行sql语句
state.execute();
//判断返回结果
if(1 == state.getInt(1))
{
return true;
}
}finally
{
close();
}
return false;
}
自定函数我已经测试过了可以像表中插入数据。。请高手指点。。。
------解决方案--------------------------------------------------------
"{?=call paymoney(?,?,?,?,?)}"
最后少了一个}