Olá pessoal, sou iniciante em Java e encontrei um problema no projeto que estou desenvolvendo para conclusão do curso técnico em informática que é o seguinte: Quando vou realizar uma venda, preciso inserir no banco de dados mysql na tabela venda e item_vendaos dados da venda, mas isto não esta acontecendo. Não sei qual é o erro, pois finaliza a venda mas não insere nenhum dado no banco. Aqui esta o meu código da conexão com o banco:
public class Conexao {
Connection con;
private Connection oConn;
private Statement sStmt;
private ResultSet rs;
public Conexao(){
}
/**
* Conecta com o banco.
*
* @return con conexão estabelecida.
*/
public Connection conecta() {
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/vendas";
con = DriverManager.getConnection(url, "root", "123456");
System.out.println("Conexão efetuada com sucesso!!");
return con;
}catch(Exception e){
e.printStackTrace();
return null;
}
}
public ResultSet rs(String sSQL){
oConn = conecta();
try{
sStmt = oConn.createStatement();
ResultSet oRS = sStmt.executeQuery(sSQL);
return oRS;
}catch(Exception e){
System.out.println(e.getMessage());
return null;
}
}
/**
* Encerra a conectividade com o banco.
*
*/
public void desconecta() {
try{
sStmt.close();
con.close();
}catch(Exception e){
System.out.println("Erro ao fechar conexão com banco!!!" + e.getMessage());
}
}
public class VendasBean {
/** Creates a new instance of VendasBean */
public VendasBean() {
}
private Integer Codigo;
private Integer CodigoItem;
private Integer ClientesCodigo;
private Integer UsuariosCodigo;
private Integer ProdutosCodigo;
private Integer VendasCodigo;
private Date DataVenda;
private Double ValorTotal;
private Float QuantidadeVendida;
private Double ValorItem;
public Integer getCodigo() {
return Codigo;
}
public void setCodigo(Integer Codigo) {
this.Codigo = Codigo;
}
public Integer getCodigoItem() {
return CodigoItem;
}
public void setCodigoItem(Integer CodigoItem) {
this.CodigoItem = CodigoItem;
}
public Integer getClientesCodigo() {
return ClientesCodigo;
}
public void setClientesCodigo(Integer ClientesCodigo) {
this.ClientesCodigo = ClientesCodigo;
}
public Integer getUsuariosCodigo() {
return UsuariosCodigo;
}
public void setUsuariosCodigo(Integer UsuariosCodigo) {
this.UsuariosCodigo = UsuariosCodigo;
}
public Integer getProdutosCodigo() {
return ProdutosCodigo;
}
public void setProdutosCodigo(Integer ProdutosCodigo) {
this.ProdutosCodigo = ProdutosCodigo;
}
public Integer getVendasCodigo() {
return VendasCodigo;
}
public void setVendasCodigo(Integer VendasCodigo) {
this.VendasCodigo = VendasCodigo;
}
public Date getDataVenda() {
return DataVenda;
}
public void setDataVenda(Date DataVenda) {
this.DataVenda = DataVenda;
}
public Double getValorTotal() {
return ValorTotal;
}
public void setValorTotal(Double ValorTotal) {
this.ValorTotal = ValorTotal;
}
public Float getQuantidadeVendida() {
return QuantidadeVendida;
}
public void setQuantidadeVendida(Float QuantidadeVendida) {
this.QuantidadeVendida = QuantidadeVendida;
}
public Double getValorItem() {
return ValorItem;
}
public void setValorItem(Double ValorItem) {
this.ValorItem = ValorItem;
public void cadastrarVenda(VendasBean venda){
try {
Connection ExConn = banco.conecta();
String sSql = "INSERT INTO VENDAS (UsuariosCodigo, ClientesCodigo, DataVenda) VALUES(?,?,?)";
String sSql2 = "INSERT INTO ITEM_VENDA (ProdutosCodigo, VendasCodigo, QuantidadeVendida, ValorItem, ValorTotal) VALUES(?,?,?,?,?)";
//Faz consultas em "Vendas"
PreparedStatement stmVendas = ExConn.prepareStatement(sSql);
//Faz consultas em "Item_Venda"
PreparedStatement stmItemVenda = ExConn.prepareStatement(sSql2);
//Insere em "Vendas"
stmVendas.setInt(1,venda.getUsuariosCodigo());
stmVendas.setInt(2, venda.getClientesCodigo());
stmVendas.setDate(3,venda.getDataVenda());
//Insere em "Item_Venda"
stmItemVenda.setInt(1,venda.getProdutosCodigo());
stmItemVenda.setInt(2, venda.getVendasCodigo());
stmItemVenda.setFloat(3, venda.getQuantidadeVendida());
stmItemVenda.setDouble(4, venda.getValorItem());
stmItemVenda.setDouble(5, venda.getValorTotal());
}
catch (Exception ex) {
ex.printStackTrace();
}
finally{
try{
banco.desconecta();
}
catch(Exception E){
E.printStackTrace();
}
}
}
private void btFinalizarActionPerformed(java.awt.event.ActionEvent evt) {
cadastrarVenda();
}
private void cadastrarVenda(){
Float quantidade = null;
Double valor = null;
if (venda.size() == 0){
JOptionPane.showMessageDialog(this, "Inclua pelo menos um produto!");
}else{
try {
VendasControl vc = new VendasControl();
VendasBean venda = new VendasBean();
SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date d = new java.util.Date();
Date data = Date.valueOf(formato.format(d));
venda.setClientesCodigo(clientes.get(cbClientes.getSelectedIndex()).getCodigo());
venda.setUsuariosCodigo(usuarios.get(cbUsuarios.getSelectedIndex()).getCodigo());
venda.setProdutosCodigo(produtos.get(cbProdutos.getSelectedIndex()).getCodigo());
venda.setVendasCodigo(venda.getVendasCodigo());
venda.setQuantidadeVendida(quantidade);
venda.setValorItem(valor);
venda.setValorTotal(total);
venda.setDataVenda(data);
vc.cadastrarVenda(venda);
JOptionPane.showMessageDialog(this, "Venda cadastrada com sucesso!");
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, "Erro ao cadastrar Venda!");
}
venda.clear();
cleartmVendas();
}
}
