Condição no ResultSet [RESOLVIDO]

2 respostas
P

Pessoal...

Tenho um método que faz uma consulta no BD e se ele tiver resultado (While rs.next) ele envia os campos para um método para criar um arquivo EXCEL...

Só que quando não tiver valores nessa consulta... queria enviar para o BD uma descrição em um campo do arquivo indicando isso como (NÃO POSSUI REGISTRO).... mas isso só funciona se ele entra no while .... mas quando não tem valor nenhum na primeira consulta já pula para fora e não entra no método de criar arquivo...

public boolean pesquisaCL(String CL) {

		boolean existe = false;

		CriarExcel criarExcel = new CriarExcel();

		Connection conn = null;
		PreparedStatement ps = null;

		String dis = null;
		String cod = null;
		String Config = null;
		String Cl = null;
		String lin = null;
		String op = null;
		String ap = null;
		String status = null;
		String fonte = null;
		String im = null;
		String isi = null;
		String statusL = null;
		String cons = null;
		String matricula = null;

		try {

			conn = ConnectionManager.obterConexao();
			ps = conn.prepareStatement(SQL_PESQUISA_CL);
			ps.setString(1, CL);

			ResultSet rs = ps.executeQuery();

			while (rs.next()) {

				dis = rs.getString("Dis");
				cod = rs.getString("Cod");
				Config = rs.getString("Config");
				Cl = rs.getString("CL");
				lin = rs.getString("Lin");
				op = rs.getString("Op");
				ap = rs.getString("AP");
				status = rs.getString("Status");
				fonte = rs.getString("Fonte");
				im = rs.getString("IM");
				isi = rs.getString("ISI");
				statusL = rs.getString("StatusL");
				cons = rs.getString("Cons");
				matricula = rs.getString("Matricula");

				if (!(Cl == "" || Cl == null)){
					criarExcel.CriarPlanilhaColetivaNew("", CL, "", "", dis, cod,
							Config, Cl, lin, op...);
					} else {
						criarExcel.CriarPlanilhaColetivaNew("", CL, "", "SEM REGISTRO", dis, cod,
							Config, Cl, lin, op...);

					}
					
				}

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			ConnectionManager.fecharConexao(conn, null, ps);
		}

		return existe;
	}

2 Respostas

wfuertes
Olá, se entendi seu problema talvez isso resolva:
if (rs.next()) {
	
	do {
		dis = rs.getString("Dis");  
		cod = rs.getString("Cod");  
		Config = rs.getString("Config");  
		Cl = rs.getString("CL");  
		lin = rs.getString("Lin");  
		op = rs.getString("Op");  
		ap = rs.getString("AP");  
		status = rs.getString("Status");  
		fonte = rs.getString("Fonte");  
		im = rs.getString("IM");  
		isi = rs.getString("ISI");  
		statusL = rs.getString("StatusL");  
		cons = rs.getString("Cons");  
		matricula = rs.getString("Matricula"); 
	
		if (!(Cl == "" || Cl == null)) {  
			criarExcel.CriarPlanilhaColetivaNew("", CL, "", "", dis, cod,  
							Config, Cl, lin, op...);  
		}
	} while (rs.next());
	
} else {
    //Aqui as variáveis precisão de valores default para o caso de não haver registros!
    //Você esta usando null isso é suficiente para seu método?
	criarExcel.CriarPlanilhaColetivaNew("", CL, "", "SEM REGISTRO", dis, cod,  
                            Config, Cl, lin, op...); 
}
P

Olá wfuertes

Valeu… isso resolveu sim…

e os valores setados resolvem… valeu mesmo…

abs

Criado 24 de junho de 2013
Ultima resposta 24 de jun. de 2013
Respostas 2
Participantes 2