Filtro de pesquisa no banco

Boa dia galera,

… pode parecer meio trivial… mas estou encalhado nisso aqui…

seguinte:

tenho uma jsp… que busca informacoes no banco… até aí blz…

a consulta é feita por um botao “pesquisar”… daí tenho todos os dados na tela.

só q quero passar um filtro… tipo colocar um nome no meu campo… clicar em pesquisar…
e a pagina retornar só aquele dado referente ao que eu digitei no campo.

o parametro do meu campo de busca nome:

<input name="nome" type="text" size="40" maxlength="40" value="<c:out value="${parcDTO.nome}"/>">

essa value passa pra uma instancia parceiroDTO…

agora, como faço a filtragem do dado que quero pra paginazinha mostrar apenas o que eu quero ???

minha busca esta em outra classe: Parceiropesquisa
meu método para pesquisa (botao pesquisar da jsp):

public List pesquisarIntervalo(int inicio, int fim, ParceiroDTO parceiroDTO ) throws SystemException{
		
		ArrayList arrayList = new ArrayList();  

		PreparedStatement pstmt = null;
		ResultSet rset = null;
		Connection con= session.connection();
		ParceiroDTO dto = null;
				
						
		String query = "SELECT PJ.CGC AS CGC,P.NOME_PESSOA AS CNPJ,PFP.STA_PARCEIRO AS STATUS, PFP.DTH_VIGENCIA_DE AS DTH_INICIO,PFP.DTH_VIGENCIA_ATE AS DTH_FIM FROM SEGUROS.PESSOA P,SEGUROS.PESSOA_JURIDICA PJ,SEGUROS.PF_PARCEIRO PFP WHERE P.COD_PESSOA = PJ.COD_PESSOA AND PFP.NUM_PESSOA = PJ.COD_PESSOA";
		
		//List parceiroFilterList = session.createQuery(query).list();
		try {
			pstmt = con.prepareStatement(query);
			rset = pstmt.executeQuery();
			while(rset.next()){
				dto = new ParceiroDTO();
				dto.setCnpj(rset.getString("CGC"));
				dto.setNome(rset.getString("CNPJ"));
				dto.setStatusParceiro(rset.getString("STATUS"));
				dto.setInicioVigencia(rset.getString("DTH_INICIO"));
				dto.setFimVigencia(rset.getString("DTH_FIM"));
				
				arrayList.add(dto);	
				
								}
		} catch (SQLException e) {

			e.printStackTrace();
		}finally {
		closeStatement(pstmt, rset);
	}
	
		return arrayList; 

	}

não sei se ficou claro… :oops:

qualquer luz… já é uma ajuda muito boa !!! :smiley:

valew ae

Não sei se entendi direito oque vc quer, se for só o filtro basta colocar na sua query o parametro para o filtro:

WHERE P.COD_PESSOA = PJ.COD_PESSOA AND PFP.NUM_PESSOA = PJ.COD_PESSOA AND P.NOME = ? try { pstmt = con.prepareStatement(query); pstmt.setString(1,dto.getNome()); rset = pstmt.executeQuery();

Não sei se entendi direito.

tentarei ser mais direto:

tenho uma jsp…
e tenho uma classe que pega uma query: select * from tabela

como faço um filtro pra jogar na minha pagina
com um textfield ???

clico no botao pesquisar:

select * from tabela:

joao
maria
jose

agora digito um nome no textfield nome: “joao” e clico no botao pesquisar:

joao

mas nao quero o SQL nao…

quero saber como eu passo a value ${parcDTO.nome}" para fazer um filtro no banco ???

:shock: tá ficando pUnk isso daqui hehehehe :shock:

spycall,

seu código nao funfou…
axo q é por aí… mas acredito ter q fazer um if no código…

seria mais ou menos assim:

if(rset.getString("CNPJ") == ${parcDTO.nome}) {

dto.setNome(rset.getString("CNPJ"));

}

é por aí… eu só nao sei mexer com essa value… esse código tb não funfou… está faltando pouco…

help! :oops: