olá a todos aqui no forum!!
eu ja vi muitos topicos falando do jtable!
como colocar dados do banco nele.
mais não vir nenhum perguntando aocontrario, ou seja o que esta sendo digitado no jtable e com um botão salvar na tabela do banco.
alguém sabe como fazer?
Salvar na tabela do BD o que esta sendo digitado no jtable
8 Respostas
Os dados do JTable ficam no TableModel, para começar a aprender isso, vc vai ter que fazer uns fors no table model, preencher seu objeto com os dados e persistir ele.
Vc pode criar o seu model se vc preferir, isso pode facilitar bastante as coisas na hora de persistir, pq a table pode editar direto seu objeto.
tem um exemplo meio tosco aqui, mas é um bom começo
http://www.roseindia.net/java/example/java/swing/GetCellValues.shtml
olá heroijapa obrigado por responder!
eu sei criar model eu so não sei como salvar os dados que estão nele no banco de dados.
Entendi, vc usa algum framework de persistencia, ou usa jdbc?
Usa o modelo e persiste o modelo ou faz algum outro esquema?
Pq em teoria é só vc pegar os dados do model, preencher seus objetos e chamar seu DAO sei la e persistir.
faz sei la um
for(Linhas da tabela)
{
Cliente cliente = new Cliente();
cliente.setNome((String) table.getModel.getValueAt(i, 0));
cliente.setEndereco((String) table.getModel.getValueAt(i, 1));
new ClienteDAO.insere(cliente);
}
seria mais ou menos isso? existem melhores maneiras de fazer, mas estou partindo do ponto do helloworld nesse aspecto de table-banco.
heroijapa me desculpe a falta de conhecimento mais onde esta escrito cliente eu coloco o que?
A classe do seu model.
Em teoria e simplificando, cada tabela do banco de dados é representada no sistema por uma classe que tem os atributos iguais aos campos do banco.
Neste caso é como se eu tivesse uma tabela cliente no banco com nome e endereco.
Ai eu posso criar um objeto Cliente para representar um registro dessa tabela.
Assim a Classe cliente representa a estrurura da tabela cliente.
E os objetos instancia da classe cliente seriam os registros da tabela.
Assim quando crio um novo cliente é como se eu estivesse criando um registro na tabela.
E o DAO é a classe responsavel por salvar este registro no banco.
Da uma pesquisada em DAO e Model ai q vc vai ver bastante isso.
olá meu brother heroijapa
muito obrigado por esta respondendo!
eu queria q vc desse uma olhada no codigo q uso para salvar informações no banco de dados. so q esta salvando o q esta escrito dentro dos textfields. como eu posso trocar , ao inves de salvar o q esta no texfields quero q salve o q esta dentro do jtable olha o code:
CODE:
private void bgravarActionPerformed(java.awt.event.ActionEvent evt) {
try
{
String sqlinsert =“insert into cidade (nome,uf) values (’”+
tfnome.getText()+"’,’"+
cbUF.getSelectedItem()+"’)";
con_cidade.statement.executeUpdate(sqlinsert);
JOptionPane.showMessageDialog(null,“Gravação realizado com sucesso”);
con_cidade.resultset = con_cidade.statement.executeQuery("select * from cidade order by "+ordenacao);
atualizacbox_cidade();
con_cidade.resultset.first();;
mostrar_dados();
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null,“Erro ao tentar gravar registro…”+erro);
}
olá heroijapa eu ja estou conseguindo salvar o que tem no jtable no banco!!
mais ele so ta salvando o q tem na primeira linha.
quero q salve o q estiver escrito por ex:
PRODUTO|VALOR|QUANT.|SUBTOTAL
maçã 2,00 2 4,00
laranja 1,00 3 3,00
quero q salve tudo q esta aparecendo!
da uma olhada no meu code ver onde eu posso mudar.
CODE:
try
{
//int linha = jTable1.getSelectedRowCount();
// int col = jTable1.getSelectedColumnCount();
String sqlinsert =“INSERT into saidafilha (codigof,codigoproduto,nomeproduto,quantidade,precounitario,precovenda) values (’”+
tfcod.getText()+"’,’"+
jTable1.getValueAt(0,0)+"’,’"+
jTable1.getValueAt(0,1)+"’,’"+
jTable1.getValueAt(0,2)+"’,’"+
jTable1.getValueAt(0,3)+"’,’"+
jTable1.getValueAt( 0,4)+"’)";
con_saidafilha.statement.executeUpdate(sqlinsert);
JOptionPane.showMessageDialog(null,“Gravação realizado com sucesso”);
con_saidafilha.resultset = con_saidafilha.statement.executeQuery("select * from saidafilha order by "+ordenacao);
atualizacbox_saidafilha();
con_saidafilha.resultset.first();;
mostrar_dados();
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null,“Erro ao tentar gravar registro…”+erro);
}
Meu caro…
Eu estou na luta para gravar dados do jTable no banco. Por favor me ajude.
Criei no MySQL colunas correspondentes às colunas do meu jTable do programa, usei esse mesmo esquema que vc, na mesma linha de implementação. Minha dificuldade está sendo em chamar esses valores no método mostrar_dados(). Para chamar jTextField’s eu uso:
jt_NumVenda.setText(con_NovaVenda.resultset.getString ("numero"));
Como devo fazer para chamar os valores do jTable no mostrar_dados()?
Será que é por esse problema que estou tendo problemas também no insert?