我在该方法中调用自定义函数,向表中插入数据。可是在执行的时候抛出了:
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;
}
自定函数我已经测试过了可以像表中插入数据。。请高手指点
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;
}
自定函数我已经测试过了可以像表中插入数据。。请高手指点
字符串越界,一般是在截取字符串某一位操作的时候出错了,你检查下代码吧