Me ajudem!(erro)

1 resposta
D

Galera, seguinte..

eu crei tres campos chamados
-Empresa
-Contato
-Empreendimento
que são para buscar o tipo de cadastro que eu quero

Sendo que cada um desses campos tem 4 <option>....
Empresa(Nome, Relacionamento, Telefone, CNPJ)
Contato(Nome, Cargo, Telefone, Religiao)
Empreendimento(Nome, Carteira, Estado, Previsão, Cidade)

notem que o campo Empreendimento tem 5<option>
e ai que esta dando erro...
[color="blue"] pcPesquisa Exception gerada = java.lang.NullPointerException [/color]

Vou postar o codigo gostaria que me ajudassem a achar aonde esta nulo ok?!

else if(pesq[0].equals("Empreendimento")){
			    	pesq[2] = (request.getParameter("rp").equals("")?"10":request.getParameter("rp"));
			    	pesq[3] = (request.getParameter("numPagina")==null?"1":request.getParameter("numPagina"));
		        	pesq[4] = request.getParameter("crit1");
		        	pesq[6] = request.getParameter("crit2");
		        	pesq[8] = request.getParameter("crit3");
		        	pesq[10] = request.getParameter("crit4");
		            pesq[14] = request.getParameter("crit5");
		        	System.out.println("Etapa1");
		        	
		        	pesq[5] = request.getParameter("txt1");
		        	pesq[7] = request.getParameter("txt2");
		        	pesq[9] = request.getParameter("txt3");
		        	pesq[11] = request.getParameter("txt4");
		        	pesq[13] = request.getParameter("text5");
	 	        	System.out.println("Etapa2");
		        	
		        		        	
		        	String crit[] = new String[5];
		        	crit[0] = request.getParameter("crit1");
		        	crit[1] = request.getParameter("crit2");
		        	crit[2] = request.getParameter("crit3");
		        	crit[3] = request.getParameter("crit4");
		        	crit[4] = request.getParameter("crit5");
		        	System.out.println("Etapa3");
		        	String chave[] = new String[5];
		        	chave[0] = request.getParameter("txt1");
		        	chave[1] = request.getParameter("txt2");
		        	chave[2] = request.getParameter("txt3");
		        	chave[3] = request.getParameter("txt4");
		        	chave[4] = request.getParameter("text5");
		        	
		        	System.out.println("Etapa4");
	 
	        	
	        	//if(pesq[0].equals("Empreendimento")){
	        		vw = "vwPesqEmpreend";
	        		colunas = "iCod_Empreend, sNome_Empreend, sCarteira_Empreend, sUF_Empreend, dDtPrevEntrega_Empreend, sCidade_Cidade";
	        		nomeCol[0] = "Nome";
	        		nomeCol[1] = "Carteira";
	        		nomeCol[2] = "Estado";
	        		nomeCol[3] = "Previsão";
	        		nomeCol[4] = "Cidade";
	        		pesq[12] = nomeCol;
	        		System.out.println("Etapa6");
	        		for(int i = 0 ; i <= 4 ; i++){
	        			
		        		if(crit[i].equals("Nome")){
		        			crit[i] = "sNome_Empreend";
		        		}
		        		if(crit[i].equals("Carteira")){
		        			crit[i] = "sCarteira_Empreend";
		        		}
		        		if(crit[i].equals("Estado")){
		        			crit[i] = "sUF_Empreend";
		        		}
		        		if(crit[i].equals("Previsão")){
		        			crit[i] = "dDtPrevEntrega_Empreend";
		        		}
		        		if(crit[i].equals("Cidade")){
		        			crit[i] = "sCidade_Cidade";
		        		}
		        		
		        		

		        		
	        		}System.out.println("Passou pelo if");
	        		
	        		
//	        		chamar Stored Procedure de login no Banco de Dados
		    		  PreparedStatement stmt = conn.prepareStatement("EXEC PROC_PAGINA_S5 ?,?,?,?,?,?,?,?,?,?,?,?,?,?");
		    		  stmt.setString(1, vw);  //nome da tabela ou view a ser utilizada
		    		  stmt.setString(2, colunas);  //nome das colunas que devem retornar no ResultSet
		    		  stmt.setInt(3, Integer.parseInt((String)pesq[2])); //qtd de resultados por "página"
		    		  stmt.setInt(4, Integer.parseInt((String)pesq[3]));  //numero da página a ser retornada
		    		  stmt.setString(5, crit[0]); //critério para seleção
		    		  stmt.setString(6, chave[0]); //palavra chave para seleção 
		    		  stmt.setString(7, crit[1]);
		    		  stmt.setString(8, chave[1]);
		    		  stmt.setString(9, crit[2]);
		    		  stmt.setString(10, chave[2]);
		    		  stmt.setString(11, crit[3]);
		    		  stmt.setString(12, chave[3]);
		    		  stmt.setString(13, crit[4]);
		    		  stmt.setString(14, chave[4]);
		        	  ResultSet rs = stmt.executeQuery();
		        	  int qtd = Integer.parseInt((String)pesq[2]);
		    		  String resultado[][] = new String[qtd][5];
		    		
		    		  int i = 0;
		    		    while(rs.next()) { 
		    		      resultado[i][0] = rs.getString(1); 
		    		      resultado[i][1] = rs.getString(2);
		    		      resultado[i][2] = rs.getString(3);
		    		      resultado[i][3] = rs.getString(4);
		    		      resultado[i][4] = rs.getString(5);
		    		      resultado[i][5] = rs.getString(6);
		    		      i += 1;
		    		    }
		    		
		        	
		    		  pesq[1] = resultado;
	        		
	        		
	        	}

1 Resposta

V

não olhei mto a fundo teu código, mas experimente inverter a ordem dos .equals()
Por exemplo, ao invés de usar umObjeto.equals("valor"); use "valor".equals(umObjeto); isso vai previnir alguns NPE

Criado 3 de março de 2005
Ultima resposta 3 de mar. de 2005
Respostas 1
Participantes 2