Olha eu aqui mais uma vez acho q vc vão me ver por muitas vez aqui no fórum, estou desenvolvendo um sistema de controle de estoque para apresenta no meu TCC, mais estou passado por dificuldade na codificação do mesmo. Estou com erro no método de localizarPessoa(); gostaria q vcs desse uma analisada nesse métodos q estou utilizado e me mostrasse onde esta o erro.
publicvoidlocalizarPessoa(){try{Stringsql="select * from pessoa where nome_razao like'%"+jtf_pesquisa.getText()+"%";// String sql = "select * from pessoa";con.exculteSQL(sql);DefaultTableModelmodel=(DefaultTableModel)jtb_pes_pessoa.getModel();model.setNumRows(0);while(con.resultset.next()){model.addRow(newObject[]{con.resultset.getString("id_pessoa"),con.resultset.getString("nome_razao"),con.resultset.getString("cpf_cnpj")});con.close();}}catch(Exceptionerro){JOptionPane.showMessageDialog(null,"Erro na visualização dos dados "+erro);}}
esses metodos quer criei na class de conexao estão corretos
publicclassConexao{privateConnectioncon;publicStatementstatemet;publicResultSetresultset;publicConexao(){}publicbooleanexculteSQL(Stringsql){try{con=ConnectionFactory.getConexao();statemet=con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);resultset=statemet.executeQuery(sql);con.close();System.out.println("banco fechado");}catch(Exceptionsqlex){JOptionPane.showMessageDialog(null,"Não foi possível executar o"+" comando sql,\n"+sqlex+"\no sql passado foi\n"+sql);}returnfalse;}publicvoidclose(){try{con.close();}catch(SQLExceptionex){JOptionPane.showMessageDialog(null,"Não foi possível fechar o banco"+ex);}}
Copei o erro que deu para que possamos lhe ajudar.
adsadilson
Esse é o erro
Não foi possível executar o comando sql
org.postgresql.util.PSQLException: ERROR: unterminated quoted string at or near “’%rerer%”
o sql passado foi
select * from pessoa where nome_razao like '%rerer%
jeffev
Falta aspa simples no final. Tente:
Stringsql="select * from pessoa where nome_razao like'%"+jtf_pesquisa.getText()+"%'";
adsadilson
jeffev
valeu mesmo cara ja tinha um tempinho q estava tentando concerta esse erro mais nada, ha tenho outros erros aqui no meu projeto vou ver se colocor a imagem blz. isso é se vc puder me ajuda, mas deste ja agradeço cara
adsadilson
Estou com esse erro aqui tbm ao excluir o registro
pensei q fosse resolvido so com isso ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY mais infelizmente ainda continua dando o erro
statemet = con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
fbl.lucas
adsadilson:
Estou com esse erro aqui tbm ao excluir o registro
pensei q fosse resolvido so com isso ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY mais infelizmente ainda continua dando o erro
statemet = con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
fbl.lucas
Boa tarde, lhe o link q vc me passou e conseguir resolver esse problema tbm entendi o motivo do erro. Muito obrigado, há como eu citei antes estou desenvolver o sistema para o meu TCC e infelizmente esta cheio de erro na codificação após esse dai estou com problema ao salvar os novos registros ou as alterações esta dando esse erro na tela. Vc sabe o motivo do erro. [color=red]E obrigado a todos por suas atençoes[/color]
adsadilson
Segue o codigo q estou usando
privatevoidjbt_salvarActionPerformed(java.awt.event.ActionEventevt){try{Stringsql;//variavelparareceberocomandosqlif(jtf_id_pessoa.getText().equals("")&&jbopcao==1){sql="insert into pessoa (cpf_cnpj, nome_razao, apelido_fantasia, insc_municipal,rg) values (?,?,?,?,?)";//sql="insert into pessoa(nome_razao)values(?)";PreparedStatementcmd=con.preparedStatement(sql);cmd.setString(1,jtf_cpf_cnpj.getText());cmd.setString(2,jtf_nome_razao.getText());cmd.setString(3,jtf_apelido_fantasia.getText());cmd.setString(4,jtf_insc_municipal.getText());cmd.setString(5,jtf_rg.getText());cmd.executeUpdate();cmd.close();con.close();JOptionPane.showMessageDialog(null,"Registro gravado com sucesso!");jbopcao=0;}elseif(!jtf_id_pessoa.getText().equals("")&&jbopcao==3){sql="update pessoa set cpf_cnpj =?, nome_razao=?, apelido_fantasia=?, insc_municipal=?, rg=?"+" where id_pessoa=?";//con.cmd=con.updateSQL(sql);PreparedStatementcmd=con.preparedStatement(sql);cmd.setString(1,jtf_cpf_cnpj.getText());cmd.setString(2,jtf_nome_razao.getText());cmd.setString(3,jtf_apelido_fantasia.getText());cmd.setString(4,jtf_insc_municipal.getText());cmd.setString(5,jtf_rg.getText());cmd.setString(6,jtf_id_pessoa.getText());cmd.executeUpdate();cmd.close();con.close();JOptionPane.showMessageDialog(null,"Registro autalizado com sucesso! \n\n Sistema SIBD Versão 0.0.001");jbopcao=0;}else{}}catch(Exceptionerro){JOptionPane.showMessageDialog(null,"Erro na sintaxe do comando: "+erro);}}
Sugestão, coloque o con = ConnectionFactory.getConexao(); no construtor da classe Conexao ou vai ser necessário adicionar este trecho no método preparedStatement(
fiz das duas forma q vc passou mas esta dando erro dentro da class deu a seguinte messagem
cannot find symbol
symbol: method preparedStatement(java.lang.String)
location: variable con of type java.sql.Cconnection
eu deixei esse comando fora do construtor con = ConnectionFactory.getConexao(); por conta de quando eu entra na tela ele nao abrir o banco só por isso mesmo pensei q seira melhor
adsadilson
fbl.lucas
fiz do jeito vc mando mais infelizmente esta com erro na classe agora rsrsrs.
esta com a seguinte messagem
cannot find symbom
symbol: method preparedStatement(Java.lang.String)
location: variable con of type java.sqlConnection
fbl.lucas
adsadilson:
fbl.lucas
fiz do jeito vc mando mais infelizmente esta com erro na classe agora rsrsrs.
esta com a seguinte messagem
cannot find symbom
symbol: method preparedStatement(Java.lang.String)
location: variable con of type java.sqlConnection
usa prepareStatement ao invés de preparedStatement, mas isso seria trivial de você descobrir…você conhece o comando ctrl+space da sua IDE? ele completa o código exibindo por exemplo quais os métodos que a classe Connection tem, com isso você teria descoberto qual o nome do método corret.
adsadilson
É meu jovem infelizmente estou cru nesse novo mundo mais um dia eu chego lá, ontem a noite navegando pela net encontrei um método q achei muito interessante e q resolver os meus problemas do Crud (select, update, delete), mas tive q munda algumas coisa mais deu certinho aqui deixo o método para alguém q esteja com a mesma dificuldade q tiver.
Mas muito obrigado a todos mais uma vez por ter colaborando nessa empreitada em breve estarei postando novas duvidas.
Aos poucos irei aprendo a interagir nesse mundo JAVA :thumbup: