bom Dia
Pessoal, não sei se eu postei no lugar correto, preciso de uma ajuda urgente para fechar um projeto escolar, preciso saber como informar um codigo de um fornecedor, e associar ao produto, não precisa estar gravndo no banco mais na tela do produto teria que puxar, e na tela de pedido, colocar o codigo do produto e ele puxar o nome e o valor.
os codigos que eu tenteipara realizar essa operação, foram os abaixos, porem esta retornando erro de instrução do sql… alguem pode me ajudar por favor:
classe fornecedorDAO
package Principal;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import principal.ConnectionFactory;
import principal.Fornecedor;
/**
*
* @author Douglas
*/
public class FornecedorDAO {
public FornecedorDAO() {
}
public int Inserir (Fornecedor fornecedor) {
int qtd = 0;
String sql = "insert into fornecedor (NomeFornecedor,CNPJ,TelFornecedor,EndFornecedor,CidadeFornecedor,UfFornecedor) "
+ "values (?,?,?,?,?,?)";
try {
PreparedStatement pmst = ConnectionFactory.getConnection().prepareStatement(sql);
pmst.setString (1,fornecedor.getNomeFornecedor());
pmst.setString (2,fornecedor.getCNPJ());
pmst.setString (3,fornecedor.getTelFornecedor());
pmst.setString (4,fornecedor.getEndFornecedor());
pmst.setString (5,fornecedor.getCidadeFornecedor());
pmst.setString (6,fornecedor.getUfFornecedor());
qtd = pmst.executeUpdate();
} catch (SQLException ex) {
Logger.getLogger(FornecedorDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return qtd;
}
public Fornecedor Consultar (int CodFornecedor){
String sql = "Select NomeFornecedor from Fornecedor"
+ "where CodFornecedor = ?";
try {
PreparedStatement pmst = ConnectionFactory.getConnection().prepareStatement(sql);
pmst.setInt(1,CodFornecedor);
ResultSet rs = pmst.executeQuery();
if (rs.next()) {
Fornecedor fornecedor = new Fornecedor();
fornecedor.setNomeFornecedor(rs.getString("NomeFornecedor"));
rs.close();
return fornecedor;
}
}catch (SQLException ex){
Logger.getLogger(principal.ProdutoDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
}
package Principal;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import principal.ConnectionFactory;
import principal.Fornecedor;
/**
*
* @author Douglas
*/
public class FornecedorDAO {
public FornecedorDAO() {
}
public int Inserir (Fornecedor fornecedor) {
int qtd = 0;
String sql = "insert into fornecedor (NomeFornecedor,CNPJ,TelFornecedor,EndFornecedor,CidadeFornecedor,UfFornecedor) "
+ "values (?,?,?,?,?,?)";
try {
PreparedStatement pmst = ConnectionFactory.getConnection().prepareStatement(sql);
pmst.setString (1,fornecedor.getNomeFornecedor());
pmst.setString (2,fornecedor.getCNPJ());
pmst.setString (3,fornecedor.getTelFornecedor());
pmst.setString (4,fornecedor.getEndFornecedor());
pmst.setString (5,fornecedor.getCidadeFornecedor());
pmst.setString (6,fornecedor.getUfFornecedor());
qtd = pmst.executeUpdate();
} catch (SQLException ex) {
Logger.getLogger(FornecedorDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return qtd;
}
public Fornecedor Consultar (int CodFornecedor){
String sql = "Select NomeFornecedor from Fornecedor"
+ "where CodFornecedor = ?";
try {
PreparedStatement pmst = ConnectionFactory.getConnection().prepareStatement(sql);
pmst.setInt(1,CodFornecedor);
ResultSet rs = pmst.executeQuery();
if (rs.next()) {
Fornecedor fornecedor = new Fornecedor();
fornecedor.setNomeFornecedor(rs.getString("NomeFornecedor"));
rs.close();
return fornecedor;
}
}catch (SQLException ex){
Logger.getLogger(principal.ProdutoDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
}
A parte que chamaria o nome do fornecedor da tela do produto seria
private void jTextCodFornecedorProdutoActionPerformed(java.awt.event.ActionEvent evt) {
Fornecedor fornecedor = new Fornecedor();
FornecedorDAO fornecedorDAO = new FornecedorDAO();
fornecedor = fornecedorDAO.Consultar(Integer.parseInt(jTextCodFornecedorProduto.getText()));
if (fornecedor == null){
jTextNomeFornecedor1.setText("Sem fornecedor registrado");
}else {
jTextNomeFornecedor1.setText(fornecedor.getNomeFornecedor());
}
}
private void jTextCodFornecedorProdutoActionPerformed(java.awt.event.ActionEvent evt) {
Fornecedor fornecedor = new Fornecedor();
FornecedorDAO fornecedorDAO = new FornecedorDAO();
fornecedor = fornecedorDAO.Consultar(Integer.parseInt(jTextCodFornecedorProduto.getText()));
if (fornecedor == null){
jTextNomeFornecedor1.setText("Sem fornecedor registrado");
}else {
jTextNomeFornecedor1.setText(fornecedor.getNomeFornecedor());
}
}
Na tela do produto seria a mesma coisa mas ao colocar o numero e dar enter, ele adicionaria o nome e valor do produto e limparia o campo para informar o codigo novamente sem prejudicar os demais campos e ir adicionando no campoo segue os códigos, mas o codigo para fazer isso eu não consegui desenvolver segue:
package principal;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Douglas
*/
public class ProdutoDAO {
public ProdutoDAO() {
}
public int Inserir (Produto produto){
int qtd = 0;
String sql = "insert into produto (Marca,NomeProduto,UnidadeMedidaProduto,NomeDivisao,NOriginalProduto,DecProduto,Despesa,NParaleloProduto,GrupoDespProduto,ValorProduto)"
+ "values (?,?,?,?,?,?,?,?,?,?)";
try {
PreparedStatement pmst = ConnectionFactory.getConnection().prepareStatement(sql);
pmst.setString (1,produto.getMarca());
pmst.setString (2,produto.getNomeProduto());
pmst.setString (3,produto.getUnidadeMedidaProduto());
pmst.setString (4,produto.getNomedivisao());
pmst.setString (5,produto.getNOriginalProduto());
pmst.setString (6,produto.getDecProduto());
pmst.setString (7,produto.getDespesa());
pmst.setString (8,produto.getNParaleloProduto());
pmst.setString (9,produto.getGrupoDespProduto());
pmst.setString (10,produto.getValorProduto());
qtd = pmst.executeUpdate();
}catch (SQLException ex){
Logger.getLogger(ProdutoDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return qtd;
}
public Produto Consultar (int CodProduto){
String sql = "Select Nomeproduto,ValorProduto from Fornecedor"
+ "where CodProduto = ?";
try {
PreparedStatement pmst = ConnectionFactory.getConnection().prepareStatement(sql);
pmst.setInt(1,CodProduto);
ResultSet rs = pmst.executeQuery();
if (rs.next()) {
Produto produto = new Produto();
produto.setNomeProduto(rs.getString("NomeProduto"));
produto.setValorProduto(rs.getString("ValorProduto"));
rs.close();
return produto;
}
}catch (SQLException ex){
Logger.getLogger(principal.ProdutoDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
}
package principal;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Douglas
*/
public class ProdutoDAO {
public ProdutoDAO() {
}
public int Inserir (Produto produto){
int qtd = 0;
String sql = "insert into produto (Marca,NomeProduto,UnidadeMedidaProduto,NomeDivisao,NOriginalProduto,DecProduto,Despesa,NParaleloProduto,GrupoDespProduto,ValorProduto)"
+ "values (?,?,?,?,?,?,?,?,?,?)";
try {
PreparedStatement pmst = ConnectionFactory.getConnection().prepareStatement(sql);
pmst.setString (1,produto.getMarca());
pmst.setString (2,produto.getNomeProduto());
pmst.setString (3,produto.getUnidadeMedidaProduto());
pmst.setString (4,produto.getNomedivisao());
pmst.setString (5,produto.getNOriginalProduto());
pmst.setString (6,produto.getDecProduto());
pmst.setString (7,produto.getDespesa());
pmst.setString (8,produto.getNParaleloProduto());
pmst.setString (9,produto.getGrupoDespProduto());
pmst.setString (10,produto.getValorProduto());
qtd = pmst.executeUpdate();
}catch (SQLException ex){
Logger.getLogger(ProdutoDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return qtd;
}
public Produto Consultar (int CodProduto){
String sql = "Select Nomeproduto,ValorProduto from Fornecedor"
+ "where CodProduto = ?";
try {
PreparedStatement pmst = ConnectionFactory.getConnection().prepareStatement(sql);
pmst.setInt(1,CodProduto);
ResultSet rs = pmst.executeQuery();
if (rs.next()) {
Produto produto = new Produto();
produto.setNomeProduto(rs.getString("NomeProduto"));
produto.setValorProduto(rs.getString("ValorProduto"));
rs.close();
return produto;
}
}catch (SQLException ex){
Logger.getLogger(principal.ProdutoDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
}
Se alguem poder ajudar agradecido…