Um problema No JSF

3 respostas
MiguelCP

Boa noite pessoal! eu estou com um pequeno problema que é o seguinte:

eu estou querendo pegar a soma dos valores de uma coluna em uma tabela no banco de dados mais não estou conseguindo.
Eu estou tentando com este codigo:

public double ValordoSaldo() throws SQLException{
    	 PreparedStatement stmt1;
    	  ResultSet rs = null;
    	     try{
    	       stmt1 = Conn.prepareStatement("SELECT sum(saldo) FROM teste");	
	       stmt1.execute();
	          rs = stmt1.executeQuery();
		      while (rs.next()){
			             }
		          stmt1.close();
    	            } 
	                       	 catch (Exception e) {
				e.printStackTrace();
				Conn.close();
			                               }
                               return Saldo;
    	 }

Esse codigo não aparece nenhum erro mas tambem não está me retornando a soma.

no modulo web eu tenho o seguinte:

<h:outputText id="SaldoImpresso"value="Poupança: Saldo -> R$"></h:outputText>
   <h:commandButton value="Consultar Saldo" action="#{investimentos.ValordoSaldo}">
       <a4j:support event="onsubmit" reRender="SaldoImpresso"></a4j:support>
   </h:commandButton>

eu aperto no consultar saldo, ai ainda continua zero, nao me retorna nada.
alguem poderia me ajudar?!

3 Respostas

L

coloque o outputText dentro de uma <a4j:region ajaxRendered=“true” />
a proposito tente ver se ele esta trazendo o resultado no caso Saldo,pode ser com um outPrint ,pois se nao ta dando mensagem de erro pode ser que esteja trazendo o resultado mas somente nao esta sendo renderizado na tela .

L

Só uma coisa, aonde você está guardando o valor da soma? Você reparou que está apenas executando a query, mas não está pegando o resultado desta? Dica: use

int soma = rs.getInt(1);

Outra coisa. Por que você está retornado a variável Saldo? Você sabe realmente como funciona um managed bean do Faces? O retorno, de preferência, deve ser uma String, que indica apenas o estado da execução, tipo “success”, “ok”, “tryAgain”, “error” e o que sua imaginação quiser. Esse retorno deve ser configurado no faces-config.xml para indicar qual página deve ir.

Mais uma. Você entende o reRender do a4j:support? Não está reparando que você está pedindo para renderizar um literal novamente? E que isso implica que a variável nunca será alterada? Não percebeu que falta uma referência à variável que possui a soma do saldo (que, como expliquei acima, você nunca obteve da query)?

Parece que você ainda é principiante. Eu não sei se você já fez programinhas sem usar banco de dados ou acesso web, mas acredito que você deve estudar mais sobre o JSF e o JDBC para não ficar tão perdido e se não se desesperar na tentativa-e-erro.

MiguelCP

Vlw Igweb, e vlw leonardo3001 e aproposito leonardo realmente nunca fiz programmas java para desktop mais trabalho com jsf,e obrigado pelas dicas e resolveu aqui vlw mesmo.

Criado 8 de setembro de 2008
Ultima resposta 13 de set. de 2008
Respostas 3
Participantes 3