Jtables X Mysql

3 respostas
ilidiopaulo

Pessoal,

continuo estudando o jTable, agora apareceu mais uma dúvida.

Como eu faço para adicionar, excluir e deletar o conteúdo de um jTable dentro de um banco de dados Mysql.

Aqui tem um exemplo que estou usando para acessar o banco de dados.

private void jBTadicionarActionPerforme(java.awt.event.ActionEvent evt) throws SQLException {//GEN-FIRST:event_jInclFornecedorActionPerformed

    	modelo.addRow(new Object[]{null, null, null, null, null, null});

    	try{
	         String pesq;
	         String classpath = "mysql-connector-java-5.0.4-bin.jar";
	         String driverName = "com.mysql.jdbc.Driver";
			 Class.forName(driverName);
	         String url = "jdbc:mysql://localhost:3306/hiroko";
	         String username = "administrador";
	         String password = "123456";
	         Connection con= DriverManager.getConnection(url, username, password);
	         //incluir = ("insert into listafornecedor (codigo, razaosocial, contato, cpfcgccnpj, endereco, cidade, uf, telefone, email, site, notafiscal) values ('" + Integer.parseInt(jTFcodigo.getText()) + "','" + jTFrazaosocial.getText() + "','" + jTFcontato.getText() + "','" + Integer.parseInt(jTFcgccpf.getText()) + "','" + jTFendereco.getText() + "','" + jTFcidade.getText() + "','" + jCBuf.getName() + "','" + Integer.parseInt(jTFtelefone.getText()) + "','" + jTFemail.getText() + "','" + jTFsite.getText() + "','" + Integer.parseInt(jTFfiscal.getText()) + "')");
	         incluir = ("insert into listafornecedor (codigo, produto, descricao, qantidade, valorunitario, valortotal) values ( ? , ? , ? , ? , ? , ? )");
	         PreparedStatement stmt = (PreparedStatement) con.prepareStatement(incluir);
	         ResultSet rs = stmt.executeQuery(incluir);

	         while(rs.next()){
	             int codigo = rs.getInt(1);
	             String produto = rs.getString(2);
	             String descricao = rs.getString(3);
	             int quantidade = rs.getInt(4);
	             double valorunitario = rs.getDouble(5);
	             double valortotal = rs.getDouble(6);
	             modelo.addRow(new Object[]{new Integer(codigo), new String(produto), new String(descricao), new Integer(quantidade), new Double(valorunitario), new Double(valortotal)});

	             con.close();
	             stmt.close();
	     	    rs.close();
	           }}
	     	 catch (ClassNotFoundException e) {
	     		 e.printStackTrace();
	     		 JOptionPane.showMessageDialog(this,"Passou pelo ClassNotFoundException");
	 		 }
	     }

private void jBTadicionarActionPerforme(java.awt.event.ActionEvent evt) throws SQLException {//GEN-FIRST:event_jInclFornecedorActionPerformed

    	modelo.addRow(new Object[]{null, null, null, null, null, null});

    	try{
	         String pesq;
	         String classpath = "mysql-connector-java-5.0.4-bin.jar";
	         String driverName = "com.mysql.jdbc.Driver";
			 Class.forName(driverName);
	         String url = "jdbc:mysql://localhost:3306/hiroko";
	         String username = "administrador";
	         String password = "123456";
	         Connection con= DriverManager.getConnection(url, username, password);
	         //incluir = ("insert into listafornecedor (codigo, razaosocial, contato, cpfcgccnpj, endereco, cidade, uf, telefone, email, site, notafiscal) values ('" + Integer.parseInt(jTFcodigo.getText()) + "','" + jTFrazaosocial.getText() + "','" + jTFcontato.getText() + "','" + Integer.parseInt(jTFcgccpf.getText()) + "','" + jTFendereco.getText() + "','" + jTFcidade.getText() + "','" + jCBuf.getName() + "','" + Integer.parseInt(jTFtelefone.getText()) + "','" + jTFemail.getText() + "','" + jTFsite.getText() + "','" + Integer.parseInt(jTFfiscal.getText()) + "')");
	         incluir = ("insert into listafornecedor (codigo, produto, descricao, qantidade, valorunitario, valortotal) values ( ? , ? , ? , ? , ? , ? )");
	         PreparedStatement stmt = (PreparedStatement) con.prepareStatement(incluir);
	         ResultSet rs = stmt.executeQuery(incluir);

	         while(rs.next()){
	             int codigo = rs.getInt(1);
	             String produto = rs.getString(2);
	             String descricao = rs.getString(3);
	             int quantidade = rs.getInt(4);
	             double valorunitario = rs.getDouble(5);
	             double valortotal = rs.getDouble(6);
	             modelo.addRow(new Object[]{new Integer(codigo), new String(produto), new String(descricao), new Integer(quantidade), new Double(valorunitario), new Double(valortotal)});

	             con.close();
	             stmt.close();
	     	    rs.close();
	           }}
	     	 catch (ClassNotFoundException e) {
	     		 e.printStackTrace();
	     		 JOptionPane.showMessageDialog(this,"Passou pelo ClassNotFoundException");
	 		 }
	     }

Bom, quem souber um link para apostilas manuais ou mesmo exemplos eu aceito qualquer ajuda.

3 Respostas

davidbuzatto

Vc quer inserir dados na JTable depois adicionar no banco?
É só varrer o modelo da mesma, linha por linha, e inserir no banco.
Um problema que vejo é q vão ter dados que já existem no mesmo, então vc teria que tratar essa questão.
Mais uma coisa, eu não acho que seja a forma mais indicada do uso de uma JTable. Eu uso a mesma apenas para visualização dos dados.

rafael.pierre

Ae david

eu tinha pensado em fazer o mesmo para fazer a inserção no banco. usar uma JTable… to meio sem idéia de uma alternativa pra isso… o que vc costuma usar?

davidbuzatto

Eu prefiro usar JTextFields mesmo. Só uso uma JTable para visualização e para selecionar um registro que quero remover/alterar. Para inserir eu não acho que seja legal.

Criado 17 de julho de 2007
Ultima resposta 18 de jul. de 2007
Respostas 3
Participantes 3