Boa Tarde, pessoal é o seguinte, tenho uma aplicação na qual estou utilizando o JavaDB incorporado a ela (Embedded), o problema é que o banco só roda quando eu faço um insert, e eu iniciar o aplicativo e fazer uma consulta, ele não retorna nada enquanto eu não fazer um insert, alguém tem a solução para isso?
Grato desde já!
[quote=fabricioknight]Boa Tarde, pessoal é o seguinte, tenho uma aplicação na qual estou utilizando o JavaDB incorporado a ela (Embedded), o problema é que o banco só roda quando eu faço um insert, e eu iniciar o aplicativo e fazer uma consulta, ele não retorna nada enquanto eu não fazer um insert, alguém tem a solução para isso?
Grato desde já![/quote]
Não deu pra entender muito bem o seu problema, pode nos dar um exemplo? Pois pelo que parece você está conseguindo conectar no banco e realizar inserts, mas não está conseguindo recuperar os dados quando faz um select. Posta aí o código de como você está realizando tais operações
Esse é o código utilizado para fazer o insert
public void inserir(InstrutorBEAN instrutor) {
String sql = "insert into app.instrutor values(?,?)";
try {
PreparedStatement stmt = this.conexao.prepareStatement(sql);
stmt.setInt(1, instrutor.getId());
stmt.setString(2, instrutor.getInstrutor());
stmt.execute();
stmt.close();
} catch (SQLIntegrityConstraintViolationException ex) {
JOptionPane.showMessageDialog(null, "O registro não foi salvo, pois o conteúdo " + "\n já existe na base de dados");
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
Esse é o código para realizar a consulta
public List<InstrutorBEAN> consultar(String nome) throws SQLException {
String sql = "select * from app.instrutor where instrutor like ?";
PreparedStatement stmt = this.conexao.prepareStatement(sql);
stmt.setString(1, nome);
ResultSet rs = stmt.executeQuery();
List<InstrutorBEAN> lista = new ArrayList<InstrutorBEAN>();
while (rs.next()) {
InstrutorBEAN instrutor = new InstrutorBEAN();
instrutor.setId(rs.getInt("id"));
instrutor.setInstrutor(rs.getString("instrutor"));
lista.add(instrutor);
}
stmt.execute();
stmt.close();
rs.close();
return lista;
}
}
As minhas sentenças estão funcionando perfeitamente, o meu único problema é que eu só posso realizar uma consulta depois que eu inserir um valor, é como se o banco de dados só fosse inicializado depois que eu uso um insert, mas eu quero saber como faço para carregar o banco de dados junto com a aplicação!
Vlw por responder!
Que estranho… faça um teste, antes de iniciar a sua aplicação, faz um select no teu banco pra ver se retorna algum registro
blz, vou testar aqui, depois posto o resultado!
Cara, mesmo fazendo uma consulta quando inicia o aplicativo ele não retorna nada, ele só retorna depois de eu fazer um insert =/
e awe, alguma teoria para o meu problema?