[DUVIDA] Consultar dados a uma db access

6 respostas
S

Boas.

Estou com um problema em consultar dados das tabelas de uma bd em access.

Quando meto o método para inserir ele só insere o ultimo registo da tabela numa text area.

Alguem me poderia ajudar ?

Agradeço.

cumps.

6 Respostas

S

Acho que você deve passar mais informações para receber ajuda, como por exemplo está usando JDBC, Hibernate, …? Se puder colocar códigos também ajuda, pois já usei o Access pra brincar um pouco e não tive problemas.

Tente também debugar e ver se os valores estão sendo pegos corretamente do formulário.

S

try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String filename = "c://db_biblioteca.mdb"; String db = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="; db+=filename.trim() + ";DriverID=22;READYONLY=true}"; Connection con = DriverManager.getConnection (db , "", ""); Statement L= con.createStatement(); Statement C= con.createStatement(); L.execute("select * from Livros"); ResultSet livros = L.getResultSet();

Depois o codigo simples para mostrar os registos no textArea:

if (livros !=null) { while (livros.next()) { jTextArea1.setText("---------------Livros---------------"+"\n"+ "Nome: " + livros.getString(2)+"\n"+ "Ano de Lançamento: " + livros.getString(3)+"\n"+ "Gênero: " + livros.getString(4)+"\n"+ "Disponiblidade: " + livros.getString(5)+"\n"+ "Nº de Páginas: " + livros.getString(6)+"\n"+ "Preço: "+ livros.getString(7)+"\n"+ "Editora: "+ livros.getString(8)+"\n"+ "Autor: "+ livros.getString(9)+"\n"+ "Peso: "+ livros.getString(10)+"\n"); }} L.close(); con.close();

Na base de Dados eu tenho 4 Livros com as suas caracteristicas, e assim ele só aparece o ultimo Livro com as suas devidas caracteristicas.

cumps.

S

Então cara o problema não tá na conexão, cada setText que você dá substitui o texto antigo, assim só fica o último mesmo.

S

Então como faço para puder aparecer os 4 ?

cumps.

S

Tenta o seguinte, concatena os textos num StringBuilder e depois joga na jtextarea

StringBuilder str = new StringBuilder();
str.append(texto);
jtextfield.setText(str.toString());
S

samuelm7:
Tenta o seguinte, concatena os textos num StringBuilder e depois joga na jtextarea

StringBuilder str = new StringBuilder(); str.append(texto); jtextfield.setText(str.toString());


Muito Obrigado.

Já consegui. :wink:

cumps.

Criado 13 de março de 2009
Ultima resposta 13 de mar. de 2009
Respostas 6
Participantes 2