ola estou tentando gravar dados de uma tabela no banco de dados o codigo pra gravar os dados da tabela esta no botao2 mais esta dando erro alguém poderia me ajudar?
segue abaixo o código
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DecimalFormat;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import Modelo.VendaProduto;
//import controle.Utilitarios;
// Ctrl+Shift+F => Formata o código
// Ctrl+A e Ctrl+i => Formata a seleção
public class EfetuarVenda extends JFrame {
private JLabel rotulo1, rotulo2, rotulo3,rotulo4,rotulo5,rotulo6,rotulo7,rotulo8,rotulo9;
private JTextField caixa1, caixa2, caixa3,caixa4,caixa5,caixa6,caixa7,caixa8,caixa9;
private JButton botao1, botao2,botao3,botao4;
private double total,valor,qtde,soma = 0;
private static EntityManagerFactory fabricaDeEntidades = null;
private static EntityManager gerenciador = null;
DecimalFormat df= new DecimalFormat(",##0,00");
public EfetuarVenda(EntityManagerFactory fabricaDeEntidades2, EntityManager gerenciador2) {
super("Vendas");
Container tela = getContentPane();
tela.setLayout(null);
fabricaDeEntidades=fabricaDeEntidades2;
gerenciador=gerenciador2;
rotulo1 = new JLabel("Codigo");
rotulo2 = new JLabel("Cliente:");
rotulo3 = new JLabel("Total:");
rotulo4 = new JLabel("Data:");
rotulo5 = new JLabel("Código:");
rotulo6 = new JLabel("Descrição:");
rotulo7 = new JLabel("Qtde:");
rotulo8 = new JLabel("Valor:");
rotulo9 = new JLabel("Total:");
caixa1 = new JTextField();
caixa2 = new JTextField();
caixa3 = new JTextField();
caixa3.setText("0.00");
caixa4 = new JTextField();
caixa5 = new JTextField();
caixa6 = new JTextField();
caixa7 = new JTextField();
caixa8 = new JTextField();
caixa9 = new JTextField();
botao1 = new JButton("Ok");
botao2 = new JButton("Salvar Nota de Venda");
botao3 = new JButton("Calcular Orçamento");
botao4 = new JButton("Calcular Pagamento");
// coluna, linha, largura, altura
rotulo1.setBounds(10, 19, 47, 20);
caixa1.setBounds(68, 19, 40, 20);
botao1.setBounds(630,100, 50, 20);
botao2.setBounds(21, 510, 200, 50);
botao3.setBounds(230, 510, 200, 50);
botao4.setBounds(440, 510, 200, 50);
rotulo2.setBounds(140, 19, 100, 20);
caixa2.setBounds(190, 19, 232, 20);
rotulo3.setBounds(530, 50, 70, 60);
caixa3.setBounds(560, 50, 120, 40);
rotulo4.setBounds(10, 60, 100, 20);
caixa4.setBounds(68, 60, 179, 20);
rotulo5.setBounds(10,100, 47, 20);
caixa5.setBounds(68,100, 40, 20);
rotulo6.setBounds(120, 100, 100, 20);
caixa6.setBounds(190, 100, 180, 20);
rotulo7.setBounds(370, 100, 80, 20);
caixa7.setBounds(410, 100, 50, 20);
rotulo8.setBounds(460, 100, 50, 20);
caixa8.setBounds(500,100, 50, 20);
rotulo9.setBounds(550, 100, 50, 20);
caixa9.setBounds(580, 100, 50, 20);
tela.add(rotulo1);
tela.add(caixa1);
tela.add(rotulo2);
tela.add(caixa2);
tela.add(botao1);
tela.add(botao2);
tela.add(botao3);
tela.add(botao4);
tela.add(rotulo3);
tela.add(caixa3);
tela.add(rotulo4);
tela.add(caixa4);
tela.add(rotulo5);
tela.add(caixa5);
tela.add(rotulo6);
tela.add(caixa6);
tela.add(rotulo7);
tela.add(caixa7);
tela.add(rotulo8);
tela.add(caixa8);
tela.add(rotulo9);
tela.add(caixa9);
final DefaultTableModel modelo;
modelo = new
DefaultTableModel();
// constrói a tabela
JTable tabela = new JTable(modelo);
// Cria duas colunas
modelo.addColumn("Código");
modelo.addColumn("Descrição");
modelo.addColumn("Qtde");
modelo.addColumn("Valor");
modelo.addColumn("Total");
JScrollPane scrollPane = new JScrollPane(tabela);
scrollPane.setBounds(20, 150, 640, 350);
tela.add(scrollPane);
botao1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// Persistir dados
// inclusão de um novo registro
//double total,valor,qtde,soma = 0;
valor=Double.parseDouble(caixa8.getText());
qtde=Double.parseDouble(caixa7.getText());
total=(qtde*valor);
soma+=(qtde*valor);
//Esse + (antes do igual) vai acumular os valores em soma.
caixa3.setText(""+soma);
caixa9.setText(""+total);
modelo.addRow(new String [] {caixa5.getText(), caixa6.getText(), caixa7.getText(), caixa8.getText(), caixa9.getText()} );
caixa1.setText("");
caixa2.setText("");
caixa4.setText("");
caixa5.setText("");
caixa6.setText("");
caixa7.setText("");
caixa8.setText("");
caixa9.setText("");
}
});
botao2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
botao2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JTable tabela = new JTable(modelo);
int linha = modelo.getRowCount();
int col = modelo.getColumnCount();
String sql ="INSERT into Venda (id_venda,descricao,qtde,valor,total) values ('"+
caixa5.getText()+"','"+
caixa6.getText()+"','"+
caixa7.getText()+"','"+
caixa8.getText()+"','"+
caixa9.getText()+"','"+
modelo.getValueAt(0,0)+"','"+
modelo.getValueAt(0,1)+"','"+
modelo.getValueAt(0,2)+"','"+
modelo.getValueAt(0,3)+"','"+
modelo.getValueAt( 0,4)+"')";
JOptionPane.showMessageDialog(null,"Gravação realizada com sucesso");
}
});
botao2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JTable tabela = new JTable(modelo);
int linha = modelo.getRowCount();
int col = modelo.getColumnCount();
try
{
Class.forName("org.postgresql.Driver");
Connection con = DriverManager.getConnection ("jdbc:postgresql:teste","postgres","postgres");
System.out.println("Conexao OK");
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("INSERT into Venda (id_venda,descricao,qtde,valor,total) values ('"+
caixa5.getText()+"','"+
caixa6.getText()+"','"+
caixa7.getText()+"','"+
caixa8.getText()+"','"+
caixa9.getText()+"','"+
modelo.getValueAt(0,0)+"','"+
modelo.getValueAt(0,1)+"','"+
modelo.getValueAt(0,2)+"','"+
modelo.getValueAt(0,3)+"','"+
modelo.getValueAt( 0,4)+"')");
JOptionPane.showMessageDialog(null,"Gravação realizada com sucesso");
st.close();
con.close();
}catch (Exception e1){
e1.printStackTrace();
return;
}}}}
});
botao3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// fecha a janela
CalculcarOrcamento c = new CalculcarOrcamento(fabricaDeEntidades, gerenciador);
}
});
botao4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// fecha a janela
CalcularPagamento c = new CalcularPagamento(fabricaDeEntidades, gerenciador);
}
});
// setSize(largura, altura);
setSize(700, 610);
setVisible(true);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
fabricaDeEntidades = Persistence
.createEntityManagerFactory("TurmaN40PostgreSQL");
gerenciador = fabricaDeEntidades.createEntityManager();
EfetuarVenda app = new EfetuarVenda(fabricaDeEntidades, gerenciador);
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
o erro é esse
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Syntax error, insert ")" to complete MethodInvocation
Syntax error, insert ";" to complete Statement
at EfetuarVenda.
at EfetuarVenda.main(EfetuarVenda.java:262)
meus getters e setters
package Modelo;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.swing.table.DefaultTableModel;
@Entity
public class VendaProduto {
@Id
private DefaultTableModel codigo;
private DefaultTableModel descricao;
private DefaultTableModel qtde;
private DefaultTableModel valor;
private DefaultTableModel total;
public DefaultTableModel getCodigo() {
return codigo;
}
public void setCodigo(DefaultTableModel codigo) {
this.codigo = codigo;
}
public DefaultTableModel getDescricao() {
return descricao;
}
public void setDescricao(DefaultTableModel descricao) {
this.descricao = descricao;
}
public DefaultTableModel getQtde() {
return qtde;
}
public void setQtde(DefaultTableModel qtde) {
this.qtde = qtde;
}
public DefaultTableModel getTotal() {
return total;
}
public void setTotal(DefaultTableModel total) {
this.total = total;
}
public DefaultTableModel getValor() {
return valor;
}
public void setValor(DefaultTableModel valor) {
this.valor = valor;
}
}