Olá gente;
Estou tentando inserir dados em uma Procedure (MySql) mas a mensagem que me retorna no
console é de erro ou valor incorreto:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Incorrect number of arguments for PROCEDURE supervisor.ps_P2DAQ013; expected 0, got 10
O código está desse jeito:
[code]public class JornadaDAO extends DAOBase {
///Atributos estáticos dos Métodos principais///////
private static String INSERT = null;
public JornadaDAO() {
this(null);
}
public JornadaDAO(Connection connection) {
super(connection);
///Inserindo Dados nos Campos da Tabela///////////
StringBuffer stringBuffer = new StringBuffer();
if (INSERT == null) {
stringBuffer.delete(0, stringBuffer.length());
stringBuffer.append("{ call ps_P2DAQ013(?, ?, ?, ?, ?, ?, ?, ?, ?, ?) }");
INSERT = stringBuffer.toString();
}
}
// ////MÉTODO INSERIR PARA TABELA jornadaVO /////////
public boolean inserir(JornadaVO jornadaVO) throws SQLException {
CallableStatement callableStatement = null;
Connection con = null;
try {
con = super.getConnection();
callableStatement = con.prepareCall(INSERT);
int index = 1;
callableStatement.setInt(index++, jornadaVO.getEmpresa());
callableStatement.setInt(index++, jornadaVO.getFilial());
callableStatement.setInt(index++, jornadaVO.getCodigoJornada());
callableStatement.setInt(index++, jornadaVO.getCodigoTurno(JornadaVO.DOMINGO));
callableStatement.setInt(index++, jornadaVO.getCodigoTurno(JornadaVO.SEGUNDA));
callableStatement.setInt(index++, jornadaVO.getCodigoTurno(JornadaVO.TERCA));
callableStatement.setInt(index++, jornadaVO.getCodigoTurno(JornadaVO.QUARTA));
callableStatement.setInt(index++, jornadaVO.getCodigoTurno(JornadaVO.QUINTA));
callableStatement.setInt(index++, jornadaVO.getCodigoTurno(JornadaVO.SEXTA));
callableStatement.setInt(index++, jornadaVO.getCodigoTurno(JornadaVO.SABADO));
int retorno = callableStatement.executeUpdate();
if (retorno > 0) {
return true;
} else {
return false;
}
} finally {
close(null, callableStatement, con);
}
}
[/code]
Não consigo achar o erro. A Procedure está desse jeito:
DELIMITER &&
CREATE PROCEDURE ps_P2DAQ013()
BEGIN
SELECT cd_empgcb,
cd_fil,
cd_jorrpt,
cd_turrpt_dom,
cd_turrpt_seg,
cd_turrpt_ter,
cd_turrpt_qua,
cd_turrpt_qui,
cd_turrpt_sex,
cd_turrpt_sab
FROM JOR_RPT
ORDER BY cd_empgcb;
END
&&
DELIMITER ;
Se alguem puder me ajudar a entender o erro…agradeço. Os parâmetros eu contei, e parecem corretos.
Obrigado.