Problemas entre o banco e o java

14 respostas
V

pessoal, tenho uma aplicação aqui que ta com o seguinte problema:

quando eu abro o banco e faço a consulta direto no banco ele me retorna os valores que eu quero, mas quando coloco o mesmo codigo sql para rodar na aplicação ele não retorna o mesmo resultado que o banco, alguém sabe o que esta acontecendo e como eu resolvo isso??

14 Respostas

L

pergunta meio óbvia, mas vc está passando os mesmos parametros na aplicação e no BD?? :roll:

e outra, ele retorna outros valores, ou não retorna nada??

Anselmo.axo

Boa Tarde,

Posta um techo do codigo pra gente dá um olhada!!!

Abs,
AXO

V

sim, estou passando os mesmos parametros no bd ele me retorna os valores da consulta, mas na aplicação ele me retorna sem valor algum.

J

dddd

L

posta seu codigo ai pra podermos da uma olhada

V

ai vai:

métod que faz a consulta no BD:

public List<AdicionarContatoBean> listarContato (String busca){
        
        List<AdicionarContatoBean> contato = new ArrayList(500);
        
        try {
       String sql = "SELECT * FROM contato WHERE nome like'"+busca+"*"+"'";
      //String sql  = "select * from contato where nome like 'vag *'";
        AdicionarContatoBean cont;
        conec = new Conexao();
        conec.Conectar();
        conec.Consultas(sql);
            
        while (conec.rs.next()){
            cont = new AdicionarContatoBean();
            cont.setNome(conec.rs.getString("nome"));
            cont.setEmpresa(conec.rs.getString("empresa"));
            cont.setDd1(conec.rs.getString("dd1"));
            cont.setDd2(conec.rs.getString("dd2"));
            cont.setFone1(conec.rs.getString("telefone1"));
            cont.setFone2(conec.rs.getString("telefone2"));
            cont.setData(conec.rs.getString("data"));
            cont.setCodigo(conec.rs.getInt("codigo"));
            cont.setEmail(conec.rs.getString("email"));
               contato.add(cont);
        }

\\ agora a consulta que coloco no banco que me retorna todos os valores que começam com va:
(OBS: no banco funciona direitinho)

SELECT * FROM CONTATO WHERE NOME LIKE 'VA*';
G

Não seria assim? while (conect.rs.hasNext()) { cont = new AdicionarContatoBean(); cont.setNome(conec.rs.next().getString("nome")); ...

Adolpho_Alves

Cara esse codigo q vc mandou ta certinho envia a classe que vc chamou de Conexao com o metodo Conectar() o problema pode esta nela, de repente vc pode estar chamando outro data base.

no oracle por exemplo a url termina indica o XE que é o data base padrão do oracle enterprise

Class.forName("oracle.jdbc.driver.OracleDriver");
		String login="YYY", senha="XXX", url="jdbc:oracle:thin:@127.0.0.1:1521:XE";
	        connection = DriverManager.getConnection(url, login, senha);
nextuser

hibernate pra q?

G

Na consulta SQL, ao utilizar o operador LIKE coloque o caracter “%” para trazer todos os registros ao invés do “*”

V

respondendo a todos:

Infelizmente estou utilizando o acces, e la não se usa o % e sim o *. Quanto ao Hibernate, não tenho mais que 8 meses de experiência com java, etc, etc, portanto não tenho conhecimento ainda para utilizá-lo.

nextuser

escrever uns xmls de config e fazer crtl+c ctrl+v para copiar e colar os jars no projeto dar uma lida na documentação e em tutoriais espalhados pela internet.

acho q com 8 meses da para fazer isso tranquilamente ainda mais com JPA

V

alguém para ajudar por favor…

V

alo…

Criado 15 de janeiro de 2009
Ultima resposta 15 de jan. de 2009
Respostas 14
Participantes 8