Erro ao executar uma buscar

Boa tarde.

Estou com o seguinte problema, a inserção dos dados estao sendo feitos corretamente porem quando vou fazer uma buscar por algum registro acontece um erro.

quando uso valores pequenos nao acontece o erro, porem quando uso ex:

44.444.444/4444-44 quando vai executar a linha do sql acontece esse errro:

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘.444/444-44’ at line 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)

Sei que o problema esta do tamanho da variavel, e que o erro é do Mysql existe algum tipow q tenho q colocar de dado q suporte o tamanho dessa variavel completa ?

codigo da consulta :

public Estabelecimento ConsultaCnpj(String cnpj){
		
		Estabelecimento esta = new Estabelecimento();
	
		
		try{
			
			conexao c = new conexao();
			Connection con = c.getConexao();
			stm = con.createStatement();
			res = stm.executeQuery("select * from estabelecimento where cnpj= " +cnpj);

                 ....

Alguem sabe como resolver o problema ???

Teste fazendo:

res = stm.executeQuery("select * from estabelecimento where cnpj= '" +cnpj+"'");

e leia http://www.guj.com.br/posts/list/48476.java

Flw … de certo :wink:

Parece que o MySQL está achando que você quer fazer expressão matematica no SQL.

Use um PreparedStatement p/ colocar os dados no banco.