Filtrar

4 respostas
C

tenho uma tabela que busca no banco e me mostra os profissionais que tenho cadastrado, quando aparece essa lista tenho um campo nome que apartir de todos os profissionais cadastrados no banco tenho que fazer uma busca pelo nome preciso usar LIKE mas como faço isso no java preciso criar algo no meu profissionalDao oq preciso colocar no meu campo nome pra buscar essas informações?

desde ja agradeço

4 Respostas

A

Não seria algo assim:

public List<VOEpubVersionamento> efetuaPesquisa(VOEpubVersionamento voEpubVersionamento) throws Exception{
		Connection con = ConnectionFactory.createConnection();
			
		VOEpubVersionamento voEpubVersionamentoPopulado = null;
		List<VOEpubVersionamento> listaAutomoveis = new ArrayList<VOEpubVersionamento>();

		StringBuilder sql = new StringBuilder();  
		sql.append("SELECT ");    
		sql.append("autor, ");  
		sql.append("titulo, ");  
		sql.append("ISBN_Livro_Digital, ");  
		sql.append("codigo_produto ");
		sql.append("FROM ");
		sql.append("PRD_CORP_PROVISORIO.website_produto ");   
		sql.append("WHERE ");   
		sql.append("titulo LIKE '%"+ voEpubVersionamento.getSearchContent() +"%' OR ");   
		sql.append("autor LIKE '%"+ voEpubVersionamento.getSearchContent() +"%' OR ");
		sql.append("codigo_produto LIKE '%"+ voEpubVersionamento.getSearchContent() +"%' OR ");
		sql.append("ISBN_Livro_Digital LIKE '%"+ voEpubVersionamento.getSearchContent() +"%'");
						
		PreparedStatement stmt = null;
		ResultSet rs = null;
		
		try {
			stmt = con.prepareStatement(sql.toString());
			rs = stmt.executeQuery();
			while (rs.next()) {
				voEpubVersionamentoPopulado = new VOEpubVersionamento();
				voEpubVersionamentoPopulado.setCodigo_produto(rs.getLong("codigo_produto"));
				
				if (rs.getString("autor").getBytes().length > 28) {
					voEpubVersionamentoPopulado.setAutor(rs.getString("autor").substring(0, 28));
				}else{
				voEpubVersionamentoPopulado.setAutor(rs.getString("autor"));
				}
				
				voEpubVersionamentoPopulado.setTitulo(rs.getString("titulo"));
				voEpubVersionamentoPopulado.setISBN_Livro_Impresso(rs.getString("ISBN_Livro_Digital"));
				listaAutomoveis.add(voEpubVersionamentoPopulado);
			}
		} catch (SQLException e) {
			System.err.println("Erro de sintaxe do SQL: " + e.getMessage());
			e.printStackTrace();
		}finally{
			try {
				rs.close();
				stmt.close();
				con.close();
			} catch (SQLException e) {
				System.err.println("Erro: " + e.getMessage());
				e.printStackTrace();
			}
		}
		return listaAutomoveis;
	}
A

crs2011:
tenho uma tabela que busca no banco e me mostra os profissionais que tenho cadastrado, quando aparece essa lista tenho um campo nome que apartir de todos os profissionais cadastrados no banco tenho que fazer uma busca pelo nome preciso usar LIKE mas como faço isso no java preciso criar algo no meu profissionalDao oq preciso colocar no meu campo nome pra buscar essas informações?

desde ja agradeço

E mais como é sua arquitetura? Não sei se é o caso mas você não deveria diretamente da Action acessar seu ProfissionalDAO.

C

esse codigo eu coloco no meu ProfissionalDao

C

preciso criar uma Action ou so preciso criar essa list no meu Dao ??

Criado 3 de março de 2011
Ultima resposta 3 de mar. de 2011
Respostas 4
Participantes 2