Pessoal Aguem me Ajuda com esse sql executado pelo java

4 respostas
D

pessoal, tenho uma função q tem por objetivo me devolver uma linha da minha tabela no no meu banco ORACLExe, mas sempre aperece esse erro: "java.sql.SQLException: [Microsoft][ODBC driver for Oracle][Oracle]ORA-00911: caractere inválido" quando tento executar a seguinte função:

public void ler_banco(){
String query = "SELECT * FROM OS Where Numero like'%"+jtf_NumeroOs1.getText()+"%';";
//String query = "SELECT * FROM OS Where Numero = '" + jtf_NumeroOs1.getText() + "';";

try {
                rs = statement.executeQuery(query);
                rs.next();
               
                os.setNumero(rs.getString("Numero"));
                os.setSetor(rs.getString("Setor"));
                os.setRequisitante(rs.getString("requisitante"));
                os.setDataReq(rs.getString("data_requisicao"));
                os.setExecutante(rs.getString("executante"));
                os.setDataReal(rs.getString("data_execucao"));
                os.setEquipamento(rs.getString("equipamento"));
                os.setServ_realizado(rs.getString("servico_executado"));
                os.setServ_solicitado(rs.getString("servico_solicitado"));
                os.setMaterial(rs.getString("materiais"));
                os.setTipo(rs.getString("tipo"));
                if(os.Tipo()==1)
                {
                    os.setPreventiva(true);
                }
                if(os.Tipo()==2)
                {
                    os.setCorretiva(true);
                }
        }
        catch (SQLException ex) 
            {
            Logger.getLogger(jfprincipal.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(null,"Erro SQL");
            System.err.println(ex.getMessage());
        }
    }

Jah tentei das duas formas e a minha variável numero da minha tabela é um varchar2

Pessoal se alguem poder me ajuda vlw!

4 Respostas

thiago.correa

O “like” não está junto da aspas simples?!
Outra coisa antes do: rs = statement.executeQuery(query); imprima a tua variável query para saber qual query está sendo gerada!

String query = “SELECT * FROM OS Where Numero like '%”+jtf_NumeroOs1.getText()+"%’;";

rafaeldiego

Olá…

Além do like junto de ’ , verifique também a String de conexão…
verifique se o drive e seus parâmetros estão corretos, caso não estejam, alterações na string de consulta de nada adiantarão.

A

Tira o ; do comando SQL

D

Pow pessoal vlw mesmo pela ajuda d vcs.

O problema tava no ; dentro do comando sql

Vlw tds vcs!!!

e vlw Alberes.

Criado 27 de novembro de 2008
Ultima resposta 27 de nov. de 2008
Respostas 4
Participantes 4