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.
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.
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.
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.
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.
Então como faço para puder aparecer os 4 ?
cumps.
Tenta o seguinte, concatena os textos num StringBuilder e depois joga na jtextarea
StringBuilder str = new StringBuilder();
str.append(texto);
jtextfield.setText(str.toString());
Tenta o seguinte, concatena os textos num StringBuilder e depois joga na jtextarea
StringBuilder str = new StringBuilder(); str.append(texto); jtextfield.setText(str.toString());
Já consegui. 
cumps.