COMO CRIAR BOTAO PESQUISA E INSERIR DADOS TABELA EM CAMPO DE TEXTO
28/06/2017
0
Estou tentando fazer a seguinte operação:
Apartir do Campo Codigo, quero pesquisar (filtrar) toda a linha do produto no banco de dados, e inserir os dados da tabela nos campos de texto abaixo:
Link para visualizar imagens do codigo e da tela que quero inserir os dados.
Imagem Tela Programa
Codigo: (campo texto ) - Pesquisar
Nome (nomecadastrado)
Data (datacadastrada)
Valor Venda (valor cadastrado)
Nao sei certo como criar este codigo para isso tentei adaptar o codigo que criei para a funcao salvar:
Mas nao funciona retorna do programa com erro
Como posso realizar este codigo?
Banco de dados PostgreSQL, e Programa Netbeans Java
Apartir do Campo Codigo, quero pesquisar (filtrar) toda a linha do produto no banco de dados, e inserir os dados da tabela nos campos de texto abaixo:
Link para visualizar imagens do codigo e da tela que quero inserir os dados.
Imagem Tela Programa
Codigo: (campo texto ) - Pesquisar
Nome (nomecadastrado)
Data (datacadastrada)
Valor Venda (valor cadastrado)
Nao sei certo como criar este codigo para isso tentei adaptar o codigo que criei para a funcao salvar:
public void alterarVenda() { String sql = "Select *from janeiro where codigo like `%" + txtcodigoalterar + "%" ; try { pst = conecta.prepareStatement(sql); // pst.setInt(1, Integer.parseInt(txtcodigoalterar.getText())); pst.setString(1, txtData.getText()); pst.setString(2, txtCliente.getText()); pst.setDouble(3, Double.parseDouble(txtValorVenda.getText())); pst.setInt(4, Integer.parseInt(txtAbacaxi.getText())); pst.setInt(5, Integer.parseInt(txtAbacaxiHortela.getText())); pst.setInt(6, Integer.parseInt(txtAcai.getText())); pst.setInt(7, Integer.parseInt(txtAcerola.getText())); pst.setInt(8, Integer.parseInt(txtAcerolaLaranja.getText())); pst.setInt(9, Integer.parseInt(txtAmora.getText())); pst.setInt(10, Integer.parseInt(txtCaja.getText())); pst.setInt(11, Integer.parseInt(txtCaju.getText())); pst.setInt(12, Integer.parseInt(txtCoco.getText())); pst.setInt(13, Integer.parseInt(txtCupuacu.getText())); pst.setInt(14, Integer.parseInt(txtGoiaba.getText())); pst.setInt(15, Integer.parseInt(txtGraviola.getText())); pst.setInt(16, Integer.parseInt(txtLaranja.getText())); pst.setInt(17, Integer.parseInt(txtLimao.getText())); pst.setInt(18, Integer.parseInt(txtMamao.getText())); pst.setInt(19, Integer.parseInt(txtMamaoMaracuja.getText())); pst.setInt(20, Integer.parseInt(txtManga.getText())); pst.setInt(21, Integer.parseInt(txtMaracuja.getText())); pst.setInt(22, Integer.parseInt(txtMelao.getText())); pst.setInt(23, Integer.parseInt(txtMisto.getText())); pst.setInt(24, Integer.parseInt(txtMorango.getText())); pst.setInt(25, Integer.parseInt(txtPessego.getText())); pst.setInt(26, Integer.parseInt(txtTangerina.getText())); pst.setInt(27, Integer.parseInt(txtUva.getText())); pst.execute(); JOptionPane.showMessageDialog(null, "Alterado com Sucesso", "alterado com Sucesso", JOptionPane.INFORMATION_MESSAGE); } catch (SQLException error) { JOptionPane.showMessageDialog(null, error); } }
Mas nao funciona retorna do programa com erro
Como posso realizar este codigo?
Banco de dados PostgreSQL, e Programa Netbeans Java
Caio
Curtir tópico
+ 0
Responder
Posts
03/07/2017
Israel Suhanko
Olá!
Observe a alteração:
Quando você executa o código original o banco recebe a query com o nome da variável que você inseriu na query:
Com o código alterado, no momento em que ele vai efetuar a busca, o interpretador troca o caractere coringa ? por um valor que você setou no código:
Mas observe que o valor setado como parâmetro em pst deve ser do mesmo tipo que o banco e dessa linha para baixo apague todos os outros pst pois você está usando um único argumento para efetuar o select (no caso o código).
Observe a alteração:
// Código original String sql = "Select *from janeiro where codigo like `%" + txtcodigoalterar + "%" ; // Código alterado String sql = "Select *from janeiro where codigo like `%" + ? + "%" ;
Quando você executa o código original o banco recebe a query com o nome da variável que você inseriu na query:
select * from janeiro where codigo like '% txtcodigoalterar + %';
Com o código alterado, no momento em que ele vai efetuar a busca, o interpretador troca o caractere coringa ? por um valor que você setou no código:
pst.setString(1, txtData.getText());
Mas observe que o valor setado como parâmetro em pst deve ser do mesmo tipo que o banco e dessa linha para baixo apague todos os outros pst pois você está usando um único argumento para efetuar o select (no caso o código).
Responder
Clique aqui para fazer login e interagir na Comunidade :)