Ola a todos, tenho uma jtable, as seguintes colunas (Mesa - Pedido - Quantidade - ValorUnidade )
preciso pegar estes dados corresponderes a estas colunas, e gravar no banco de dados. como posso fazer isso. estou tentando mais n estou conseguindo.
não esta dando erro, mas n esta funcionando… se n funciona esta errado !
esta salvando no banco apenas os valores
Mesa: -1
Pedido: -1
Quantidade: -1
ValorUnidade: -1
segue o código:
private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {
// Prenchendo dados da tabela no banco de dados
Statement stm = new Conexao().getStatement();
for(int i=0; i<jTable1.getRowCount(); i++){
int mesa = jTable1.getSelectedColumn();
int pedido = jTable1.getSelectedColumn();
int quantidade = jTable1.getSelectedColumn();
int valorUnidade = jTable1.getSelectedColumn();
String sql = "INSERT INTO pedidosfeitos (mesa,pedido,quantidade,valorUnidade) VALUES ("+mesa+","+pedido+","+quantidade+","+valorUnidade+")";
new Conexao().executaInsert(sql);
System.out.println("Mesa: " +mesa + "\n" + "Pedido:" +pedido + "\n" + "Quantidade: "+quantidade+ "\n" + "Valor Unidade: "+valorUnidade);
}
}
Você não deve usar o getSelectedColumn() caso você precise pegar a informação das celulas da sua tabela, o getSelectedColumn() pega a coluna da celula selecionada.
Para pegar o valor da celula você deve usar o getValueAt([linha], [coluna]),
No seu caso, eu acho que você deveria fazer algo assim:
int mesa = Integer.parseInt(jTable1.getValueAt(i, 0).toString);
int pedido = Integer.parseInt(jTable1.getValueAt(i, 1).toString);
int quantidade = Integer.parseInt(jTable1.getValueAt(i, 2).toString);
int valorUnidade = Integer.parseInt(jTable1.getValueAt(i, 3).toString);
Só supondo que as colunas sejam sequenciais e que comecem pela “mesa”
Provavelmente alguma das suas variaveis da tabela não são números, verifique se todos os valores são números inteiros, se não forem mude o código para: