Alguém poderia me ajudar com esse método? Criei um banco de dados com os seguintes campos: idvagas, bloco, n_vaga, placa e inseri dados em todos os campos.
O banco ficou mais ou menos assim:
int ------- varchar ------- int ----- varchar
idgavas ------ bloco ------ n_vaga ------ placa
1 ------------ A ----------- 1 ----------- NOT-2222
2 ----------- B ----------- 1 ----------- 0
3 ----------- A ----------- 2 ----------- 0
4 ----------- B ----------- 2 ----------- 0
5 ----------- A ----------- 3 ----------- 0
6 ----------- B ----------- 3 ----------- 0
Aí, criei uma classe de acesso ao banco que tá conectando direitinho, no entanto, precisei criar um método na classe para consultar a “idvagas” ( que equivale ao número de ordem da vaga ) mais próxima desocupada. Conforme podem ver acima, somente a idvaga 1 está ocupada com uma placa, logo a idvaga mais próxima desocupada seria a 2. Pois bem, compilei e não deu nenhum erro, porém não tenho o retorno 2, mas sim o retorno do contador, que inclusive só conta 1 vez e retorna o valor 1. Eu estou começando agora com java e estou tendo dificuldades de entender muitos erros; se alguém puder me ajudar.
public class AcessandoBD
{
static Connection con = ConexaoBD.getConnection(); // conexao
public static String status="";
static String q = "";
static ResultSet rs;
public static int consulta(){
int cont = 0;
int num;
try{
Statement st = (Statement) con.createStatement();
// consulta a vaga mais proxima desocupada
do{
cont++;
// recebe o valor consultado da placa
q+="select bloco,n_vaga,placa from vagas where idvagas="+cont;
rs = st.executeQuery(q);
num = rs.getInt("placa"); ----> o erro( ou melhor, o problema, pois erro de compilação não está dando) está aki, não consigo colocar o valor da placa dentro de num.
}while(num!=0);
}catch(SQLException e){
status = e.getMessage();
} catch (Exception e) {
status = e.getMessage();
}
return cont;
}
}