Bom dia galera, tudo bem! Sou novato com programação. Quando preencho o TextField digitando e clico em pesquisar não tenho retorno nenhum, mais se eu copiar e colar a consulta que quero no TextField e clicar em pesquisar eu tenho retorno, outra ponto é se eu clicar em limpar e depois clicar em pesquisar tenho o retorno da ultima pesquisa, segue código abaixo. Obrigado a todos!
private void jbPesquisa1ActionPerformed(java.awt.event.ActionEvent evt) {
if(jTorigem != null && jTorigem.getText().trim().equals("")){
JOptionPane.showMessageDialog(null, "Digite o numero do arquivo!");
}
try
{
conexao(); // Chama a conexão com o banco
rs = stm.executeQuery( "SELECT id_planilha, id_despesa FROM Tesis.dbo.despesas where id_planilha = '" + variavel +"'");
while (rs.next()){
String plan = rs.getString("id_planilha");
String des = rs.getString("id_despesa");
jTextArea1.append(plan + " " + des+"\n");
}
//stm.close();
//con.close();
//rs.close();
}
catch(Exception e)
{
System.out.println("Não foi possivel consultar;");
}
}
JTorigem é seu JTextField?
Se for, porque sua consulta é assim?
rs = stm.executeQuery( "SELECT id_planilha, id_despesa FROM Tesis.dbo.despesas where id_planilha = '" + variavel +"'");
Não deveria ser assim?
rs = stm.executeQuery( "SELECT id_planilha, id_despesa FROM Tesis.dbo.despesas where id_planilha = '" + JTorigem.getText() +"'");
Isso mesmo é o meu JTextField.
Se eu utilizar da forma que vc descreveu da erro, essa variável “variavel” utilizo para armazenar o valor que e digitado no TextField. Segue abaixo metodo do JTextField.
private void jTorigemKeyTyped(java.awt.event.KeyEvent evt) {
int limit=15;
String caracteres="0987654321";
if(!caracteres.contains(evt.getKeyChar()+"")){
evt.consume();
}
if(jTorigem.getText().length()>=limit){
evt.consume();
//JOptionPane.showMessageDialog(rootPane,"Máximo 15 digitos.");
}
variavel = jTorigem.getText();
}
Bom,
esse deve ser o motivo de ao clicar de novo ele traz a mesma busca. Pois ao inserir o primeiro valor e clicar em pesquisar o valor é armazenado dentro da variável e continua lá. Para isso você tem duas alternativas: Deixar a variável nula após a busca ou pegar o valor direto do JtextField.
Bom dia Galera, obrigado daquadra e satangozo consegui resolver adicionando a função variável = jTorigem.getText(); dentro do método do JButton.
Se possível gostaria de mais uma ajuda, o que tem pode ter de errado na consulta abaixo? depois que adicionei mais uma tabela e group by não traz retorno.
“SELECT id_planilha, count(id_despesa), sum(vlr_despesas) FROM Tesis.dbo.despesas where id_planilha = '” + variavel +"’ group by id_planilha"
obrigado!
Galera, consegui resolver da seguinte forma:
“SELECT id_planilha, count(id_despesa) Qtd, sum(vlr_despesas)Vlr FROM Tesis.dbo.despesas where id_planilha = '” + variavel +"’ group by id_planilha"
Obrigado!