Erro no select

3 respostas
thiagopassosp

alguem ai podeira me ajudar
goastaria de saber pq esta dando confilto no select
eu so queria deixar o campo tfNome obrigatorio na hora da pesquisa e os outros campos só para ajudar a filtrar na hora da pesquisa

if( tfCNS.getText().equals("               ") && tfNasc.getText().equals("  /  /    "))
		  	{ 
		  		SQL=SQL +  "WHERE  ( NOME LIKE'"+ tfNome.getText() + "%')";	  	
		  				 
		  	}
		    else
		  	{
		  		SQL=SQL +  "WHERE  ( NOME LIKE'"+ tfNome.getText() + "%')" ;
		  		SQL=SQL +  "and	   ( NASCIMENTO ='"+ tfNasc.getText() +"')";  
		  	//	SQL=SQL +  "or ( CNS = '"+tfCNS.getText()+"')";	
		  	}	 
		  		
		  	
		  	
		  	if(tfNome.getText().equals("") && tfNasc.getText().equals("  /  /    "))
		  	{ 		  			 	  	
		  		 SQL=SQL +  "Where ( CNS = '"+tfCNS.getText()+"')";	
		  	}

3 Respostas

rodrigo_gomes

Olá,

Que erro está dando?
Esses dois ifs estão desse jeito em sua classe, uma em seguida do outro?
Se tiver, ele pode tá entrando nos dois ifs e gerando duas clausulas WHERE uma em seguida da outra.

ps: Já que tá usando JDBC diretão, da uma olhada nesse artigo, pode te ajudar =D
http://www.guj.com.br/java.tutorial.artigo.115.1.guj

orlandocn

Fala thiago,

nao sei se eu to viajando, mas parece que essa query que voce ta gerando ta ficando sem alguns espacos

SQL=SQL + “WHERE ( NOME LIKE’”+ tfNome.getText() + “%’)”;

deve gerar algo como WHERE ( NOME LIKEbastiao%’) ao inves de
WHERE ( NOME LIKE bastiao%’)

tenta imprimir essa variavel SQL e confere se ela executa no front-end do seu SGBD.

Outra coisa que pode estar acontecendo NullPointerException no if

if( tfCNS.getText().equals(" “) && tfNasc.getText().equals(” / / "))

tenta inverter a constante " ", tipo:

" ".equals(tfCNS.getText() );

e por ultimo, coloca num bloco try/catch e posta a excessao aqui que com certeza a comunidade vai te ajudar

valeu

thiagopassosp

obrigado pela ajuda de todos , mas já consegui solucionar o problema

o Mauro estava certo
entrava nos 2 ifs

Criado 28 de outubro de 2006
Ultima resposta 28 de out. de 2006
Respostas 3
Participantes 3