João, se você criar um TableModel primeiro, para depois capturar os valores e usa-los será bem mais simples.
Caso não queira criar um, tente preencher sua tabela com um List contendo os resultados da consulta no MySQL e buscar a posição nele de acordo com a linha selecionada, acredito que será mais simples trabalhar e evitará conversões.
Eu criei uma tabela que lê os valores do mysql , até ai tá funcionando perfeitamente , só que eu quero que o usuário possa editar os valores direto na Jtable e click em um botão salvar para salvar todos os valores editados de vez , eu consegui capturar os valores só que meu programa só consegue salvar edições feitas apenas na primeira linha .
Connection con = (Connection) ConnectionFactory.getConnection();
PreparedStatement stmt = null;
int valor = TProdutos.getRowCount();
for(int i=0 ;i < valor ;i++){
String ID =(TProdutos.getValueAt(i,0).toString());
int id = Integer.parseInt(ID);
String Nome =(TProdutos.getValueAt(i,1).toString());
String CodB =(TProdutos.getValueAt(i,2).toString());
String Lote =(TProdutos.getValueAt(i,3).toString());
String Validade =(TProdutos.getValueAt(i,4).toString());
String Preco =(TProdutos.getValueAt(i,5).toString());
double preco = Double.parseDouble(Preco);
String Desde =(TProdutos.getValueAt(i,6).toString());
try {
stmt = con.prepareStatement("UPDATE produtos SET NOME =?,CODIGO_BARRA =?,LOTE =?,VALIDADE =?,PRECO =?,DESDE_ESTOQUE =? WHERE PRODUTO_ID =?");
stmt.setString(1,Nome);
stmt.setString(2,CodB);
stmt.setInt(3,Integer.parseInt(Lote));
stmt.setString(4,Validade);
stmt.setDouble(5,preco);
stmt.setString(6,Desde);
stmt.setInt(7,id);
stmt.executeUpdate();
JOptionPane.showMessageDialog(null,"Atualizado com sucesso!");
}catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Error ao Atualizar"+ex);
}
}
ConnectionFactory.closeConnection(con, stmt);
}
Certo, então reforço a dica anterior de usar um TableModel(com a devida tipagem). É o primeiro passo. Custa um pouco mais para implementar mas com certeza será mais tranquilo chegar ao seu objetivo.