Pessoal estou com problemas. Meu método altera(ou atualiza) não tá alterando nada.
Só diz q eu tenho 5 parametros e estou passando 4.
Contei e recontei. Não achei nada.
Esse é o método:
Tenho 4 chaves primarias.
[code]
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.sun.rsasign.f;
import casasbahia.relogio.vo.FuncionarioVO;
public class FuncionarioDAO extends DAOBase {
private static String UPDATE = null;
public FuncionarioDAO() {
this(null);
}
public FuncionarioDAO(Connection connection) {
super(connection);
StringBuffer stringBuffer = new StringBuffer();
if (UPDATE == null) {
stringBuffer.delete(0, stringBuffer.length());
stringBuffer.append("update LIS_FUN_RPT(");
stringBuffer
.append("CD_JORRPT,CD_MSGRPT,ST_LFRPT,CD_LFRPT_VIA_CCH,"
+ "ST_LFRPT_ICL");
stringBuffer.append("where CD_EMPGCB AND");
stringBuffer.append("CD_FILL AND");
stringBuffer.append("CD_LFRPT_RLG AND");
stringBuffer.append("CD_EMPGCB_FUN AND");
stringBuffer.append("CD_FUN");
UPDATE = stringBuffer.toString();
}
}
// //MÉTODO UTIILIZADO PARA ALTERAR A TABELA funcionarioVO////////
public boolean atualizar(FuncionarioVO funcionarioVO) throws SQLException {
PreparedStatement preparedStatement = null;
Connection conn = null;
try {
conn = getConnection();
preparedStatement = conn.prepareStatement(UPDATE);
int index = 1;
preparedStatement.setInt(index++, funcionarioVO.getCodigoJornada());
preparedStatement
.setInt(index++, funcionarioVO.getCodigoMensagem());
preparedStatement.setString(index++, funcionarioVO.getStatus());
preparedStatement.setInt(index++, funcionarioVO.getViaCracha());
preparedStatement.setString(index++, funcionarioVO.getStatus());
preparedStatement.setInt(index++, funcionarioVO.getEmpresa());
preparedStatement.setInt(index++, funcionarioVO.getFilial());
preparedStatement.setInt(index++, funcionarioVO.getNumeroRelogio());
preparedStatement.setInt(index++, funcionarioVO
.getEmpresaFuncionario());
preparedStatement.setInt(index++, funcionarioVO.getMatricula());
int retorno = preparedStatement.executeUpdate();
if (retorno > 0) {
return true;
} else {
return false;
}
} finally {
close(null, preparedStatement, conn);
}
}
}[/code]
Esse é o m[étodo main:
[code]public class TestaUpdate {
public static void main(String[] args) throws SQLException {
FuncionarioVO funcionarioVO = new FuncionarioVO();
funcionarioVO.setCodigoJornada(31);
funcionarioVO.setCodigoMensagem(32);
funcionarioVO.setStatus("D");
funcionarioVO.setViaCracha(33);
funcionarioVO.setTipoAutorizacao("E");
funcionarioVO.setEmpresa(26);
funcionarioVO.setFilial(27);
funcionarioVO.setNumeroRelogio(28);
funcionarioVO.setEmpresaFuncionario(29);
funcionarioVO.setMatricula(30);
FuncionarioDAO dao=new FuncionarioDAO();
dao.atualizar(funcionarioVO);
System.out.println("ALTERADO COM SUCESSO!!");
}
}[/code]
Se alguem pude me ajudar…agradeço.
Valeu.