Erro!

6 respostas
S

Boa galera, me ajudem por favor:

Estou executando este codigo:

package br.eti.furutani.dataset;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Date;

import java.util.Map;

import org.apache.log4j.Logger;
import org.jfree.data.general.DefaultPieDataset;

import br.eti.furutani.banco.ConexaoMySQL;

import de.laures.cewolf.DatasetProduceException;

import de.laures.cewolf.DatasetProducer;

public class CertificacaoEstadoDataSet implements DatasetProducer {

private static final long serialVersionUID = 1L;
Logger log = Logger.getLogger(CertificacaoEstadoDataSet.class);

// Retorna uma Dataset com os dados que irão alimentar o gráfico
public Object produceDataset(Map arg0) throws DatasetProduceException {
	
	// Criando um Dataset para o gráfico
	DefaultPieDataset ds = new DefaultPieDataset();
	
	PreparedStatement ps = null;

	String query =  "Select  Sum(IIf(CRJJ04.tipo = 0, 1, 0)) As efetuadas, Sum(IIf(CRJJ04.tipo = 1, 1, 0)) As recebidas From CRJJ04 ";
                  
	try {
		
		Connection conexao = ConexaoMySQL.getConn();
		ps = conexao.prepareStatement(query);

		ResultSet rs = ps.executeQuery();

		while (rs.next()) {
			// Inserindo no DataSet o estado e a quantidade de pessoas certificadas
			ds.setValue(rs.getString(1), new String (rs.getString(2)));
		}
	} catch (SQLException e) {
		log.info(e);
	}

	return ds;
}

// O dados deste dataset é invalidado imediatamente. O tempo de retorno influencia no cache do cewolf
public boolean hasExpired(Map arg0, Date arg1) {
	return true;
	// Se quisessemos que os dataset expirasse em 5 segundos colocariamos
	// return (System.currentTimeMillis() - since.getTime())  > 5000;
}

// Retorna um Id único para o datset
public String getProducerId() {
	return "CertificacaoPorEstado";
}

}

E estou recebendo o seguinte erro:

symbol  : method setValue(java.lang.String,java.lang.String)

location: class org.jfree.data.general.DefaultPieDataset

ds.setValue(rs.getString(efetuadas), new String (rs.getString(recebidas)));

1 error

Alguem pode me ajudar por favor…

Boa galera abraços

Valmir Lopes

6 Respostas

sergio.souza
No DefaultPieDataset o setValue pode receber os seguintes parâmetros:

setValue(java.lang.Comparable key, double value)

Sets the data value for a key and sends a DatasetChangeEvent to all registered listeners.

setValue(java.lang.Comparable key, java.lang.Number value)

Sets the data value for a key and sends a DatasetChangeEvent to all registered listeners.

API: http://www.jfree.org/jfreechart/api/javadoc/org/jfree/data/general/DefaultPieDataset.html

S

Amigo sergio fiz da forma que me mandou, e deu o seguinte erro:

ds.setValue(rs.getString(1), (rs.getString(2));
1 error

Valmir Lopes

sergio.souza

shelter:
Amigo sergio fiz da forma que me mandou, e deu o seguinte erro:

ds.setValue(rs.getString(1), (rs.getString(2));
1 error

Valmir Lopes

Verifique as especificações do DefaultPieDataset.

S

Amigo sergio, li sobre a api … mais não entendi muito não …ainda estou em fase de estudo ( estudando muito ) vc poderia me ajudar ser mais claro ou até mesmo me ajudar me informando o meu erro …

Te agradeço muito…

Muito obrigado desde já.

Valmir Lopes

sergio.souza

Conforme as especificações o setValue só pode receber:
java.lang.Comparable e java.lang.Number

então seu setValue terá que ser:
setValue(new String(VAR1), new Number(VAR2));

VAR1 = algum valor;
VAR2 = algum valor numérico (double, int, float, long...)
S

Então sergio desculpa a minha burrice , mais ainda não entrou, deixa eu te passa oq eu quero implentar…

informa no grafico recebidas e efetuadas…

quantidade efetuada e recebidas…

na pizza…

IRMÃO MUITO OBRIGADO … desculpa ficar te enchendo com o meu esforço em aprender…

me ajuda aí…

Valmir Lopes

Criado 9 de janeiro de 2008
Ultima resposta 9 de jan. de 2008
Respostas 6
Participantes 2