Pessoal, boa noite…
Estou com um problema de exception nesse pedaço da minha classe… e jah tentei de tudo pra resolver e nao encontro o problema…
Sei que o sistema executa até a parte do código abaixo que estah com o comentario “Até aqui”…
A mensagem de retorno lah da Exception é “4” (isso mesmo)… o que nao me facilita mto as buscar no google…
O erro seguinte eh esseo:
Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: null
Alguém pode me dar uma força?
Desde jah agradeço!
@SuppressWarnings("null")
public String[] verificaPeriodo(){
Connection conn = null;
Statement stmt = null;
// String nome [] = null;
// String horaInicio [] = null;
// String duracao [] = null;
String diaSemana = "SELECT TO_CHAR(SYSDATE,'DY') DIASEMANA FROM DUAL";
String diaSemanaField = null;
String diaSemanaFieldQuery = null;
//String comandoSQL = "SELECT PERIODO_ID, NOME, TO_CHAR(HORAINICIO,'HH:MI:SS') HRINI, TO_CHAR(DURACAO,'HH:MI:SS') DUR " +
// "FROM PERIODO WHERE " + diaSemanaFieldQuery + " = 'S'";
try{
conn = DBConn.getInstance().getConnection();
try {
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(diaSemana);
System.out.println("Entrou");
rs.next();
diaSemanaField = rs.getString("DIASEMANA");
rs.close();
} catch (SQLException exc1) {
DBConn.getInstance().shutdown();
System.err.println("1) Erro na consulta: " + exc1.getMessage());
return null;
} catch (Exception exc2) {
DBConn.getInstance().shutdown();
System.err.println("1) Erro inesperado na consulta: " + exc2.getMessage());
return null;
}
try {
if (diaSemanaField.equals("DOM")){
diaSemanaFieldQuery = "DOMINGO";
} else if (diaSemanaField.equals("SEG")){
diaSemanaFieldQuery = "SEGUNDA";
} else if (diaSemanaField.equals("TER")){
diaSemanaFieldQuery = "TERCA";
} else if (diaSemanaField.equals("QUA")){
diaSemanaFieldQuery = "QUARTA";
} else if (diaSemanaField.equals("QUI")){
diaSemanaFieldQuery = "QUINTA";
} else if (diaSemanaField.equals("SEX")){
diaSemanaFieldQuery = "SEXTA";
} else if (diaSemanaField.equals("SAB")){
diaSemanaFieldQuery = "SABADO"; }
stmt = conn.createStatement();
String comandoSQL = "SELECT PERIODO_ID, NOME, TO_CHAR(HORAINICIO,'HH:MI:SS') HRINI, TO_CHAR(DURACAO,'HH:MI:SS') DUR " +
"FROM PERIODO WHERE " + diaSemanaFieldQuery + " = 'S'";
System.out.println("comandoSQL: " + comandoSQL);
System.out.println("diaSemanaField: " + diaSemanaField);
ResultSet rs = stmt.executeQuery(comandoSQL);
ResultSetMetaData rsmd = rs.getMetaData();
int numCols = rsmd.getColumnCount();
Integer idPeriodo [] = new Integer[numCols];
System.out.println("Cols: " + numCols);
while (rs.next()) {
for (int i=0; i<=numCols; i++){
idPeriodo [i] = rs.getInt("PERIODO_ID");
System.out.println("i: " + i + " id: " + idPeriodo[i]); // <<<<<<<<<<<<<<<<<<<-----------------------------------------------------------------ATÉ AQUI
// nome [i] = rs.getString("NOME");
// horaInicio [i] = rs.getString("HRINI");
// duracao [i] = rs.getString("DUR");
}
}
rs.close();
System.out.println("retornoPeriodo: antes ");
String[] retornoPeriodo = null;
System.out.println("retornoPeriodo: depois " + retornoPeriodo);
for (int j=0; j<=numCols; j++){
System.out.println("j entrou " + j);
retornoPeriodo[j] = idPeriodo[j].toString();
System.out.println("j!");
//retornoPeriodo[j] = nome[j] + " / " + horaInicio[j] + " / " + duracao [j];
}
DBConn.getInstance().shutdown();
return retornoPeriodo;
} catch (SQLException exc1) {
DBConn.getInstance().shutdown();
System.err.println("2) Erro na consulta: " + exc1.getMessage());
return null;
} catch (Exception exc2) {
DBConn.getInstance().shutdown();
System.err.println("2) Erro inesperado na consulta: " + exc2.getMessage());
return null;
}
} catch (Exception exc) {
DBConn.getInstance().shutdown();
System.err.println("Erro na conexao: " + exc.getMessage());
return null;
}
}
