Incluir dados da JTable no banco de dados

1 resposta
K

Como posso incluir os dados de uma JTable em um banco de dados? Algém pode me ajudar? Abaixo segue minha JTable com conexão ao banco. Eu queria colocar esses dados carregados na JTable em outra tabela.

final DefaultTableModel modelo = new DefaultTableModel();

JTableDados = new JTable(modelo);

modelo.addColumn(ID);

modelo.addColumn(Nome);

modelo.addColumn(CPF);

modelo.addColumn(Telefone);

modelo.addColumn(Nascimento);

modelo.addColumn(Cadastro);

JTableDados.getColumnModel().getColumn(0).setPreferredWidth(10);

JTableDados.getColumnModel().getColumn(1).setPreferredWidth(250);

JTableDados.getColumnModel().getColumn(2).setPreferredWidth(70);

JTableDados.getColumnModel().getColumn(3).setPreferredWidth(70);

JTableDados.getColumnModel().getColumn(4).setPreferredWidth(70);

JTableDados.getColumnModel().getColumn(5).setPreferredWidth(50);

JTableDados.setFont(new Font(Segoe UI,Font.PLAIN,11));

JTableDados.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.LOWERED));

JTableDados.setSelectionBackground(Color.YELLOW);

JTableDados.setSelectionForeground(Color.BLUE);

JTableDados.setDefaultRenderer(Object.class, new ColorRenderer()); // Chama a Classe que intercala as cores da JTable

JTableDados.setFocusable(false); //Evita o foco

JTableDados.setAutoCreateRowSorter(true);

JTableDados.setFont(new Font(Lucida Console,Font.PLAIN,11));

JTableDados.getTableHeader().setResizingAllowed(false);// evita que as colunas sejam redimensionadas

JTableDados.getTableHeader().setReorderingAllowed(false);// evita que as colunas sejam reordenadas

JTableDados.setShowGrid(false);// oculta a grade da tabela

JTableDados.setShowHorizontalLines(false);// oculta as linhas horizontais da tabela

JTableDados.setShowVerticalLines(false);// oculta as linhas verticais da tabela

JScrollPane1.setViewportView(JTableDados);

JPanel2 = new JPanel();	

JPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder(null, “”, javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font(Segoe UI, 0, 11)), Clientes Cadastrados, javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font(Segoe UI, 0, 11)));

JPanel2.setFont(new Font(Segoe UI,Font.PLAIN,11));

JPanel2.setOpaque(false);	

JPanel2.setBounds(140, 370, 840, 340);

JLabelFundo.add(JPanel2);

try

{

String url = jdbc:mysql://localhost:3306/javalocadora”;

String usuario = root;

String senha = 210683;

Class.forName(com.mysql.jdbc.Driver);

Connection con;

con = DriverManager.getConnection(url,usuario,senha);

Statement st = con.createStatement();

//Executa o comando SQL que retorna todos os campos da tabela desejada

ResultSet RS = st.executeQuery(SELECT * FROM Clientes WHERE ID);

while(RS.next()){

int ID = RS.getInt(ID);

String Nome = RS.getString(Nome);

//endereço = RS.getString(“Endereco”);

String cpf = RS.getString(CPF);

String telefone = RS.getString(Telefone);

String nascimento = RS.getString(DataNasc);

String cadastro = RS.getString(DataCadastro);

modelo.addRow(new Object[]{new Integer(ID), new String(Nome),new String(cpf),new String(telefone),new String(nascimento),new String(cadastro)});

}

con.close();

RS.close();

}catch(SQLException e){ //trata os erros

<a href="//JOptionPane.showMessageDialog">//JOptionPane.showMessageDialog</a>(this,"Erro Cmdo SQL "+e.getMessage());

}

catch(Exception event) {        	

}

1 Resposta

W

Cara eu criei uma classe que herda de uma jtable e implementei o seguinte método :

public Vector retornaLinhas() {

return this.tableModel.getDataVector();

}

me retorna um vetor, aí faço um for e vou incluindo.

Wallace

Criado 29 de novembro de 2008
Ultima resposta 1 de dez. de 2008
Respostas 1
Participantes 2