Achar maior valor no banco e...[resolvido]

10 respostas
P

ola
alguém pode me ajudar a achar o maior valor no banco e criar numero de colunas na jtable com este mesmo valor?
sei que a sintaxe de pesquisa o max é mais ou menos assim select max(nomedacoluna) as?(ñ entendi) from tabela
obg pela ajuda

10 Respostas

S

Não consegui ententer a parte de numero de colunas…
Mas para pegar o maior campo utilizando o SQL é simples…

Só isso…

Mas esse select vai retornar apenas uma linha, contendo o maior valor do dado no banco…
O que você quer popular na JTable ?

P

ola
na verdade o q eu qro é criar o numero de colunas com nome atividade de acordo com o maior valor do banco tipo é uma pesquisa de carga horaria então seria o seguinte se o maior valor for 8 eu crio 8 colunas na jtable para atividades qro fazer isto no meu default table model,isso é possivel?
obg

P

ah fiz a pesquisa assimresultado=comando.executeQuery("select max(ch_total) from cargahoraria ");//esta linha da null while(resultado.next()) {....}
so q ta dando nullpointerexception :cry: !!
eu escrevi algo errado?pq tipo tm elemntos nesta tabela la no banco

N

A parte do SQL lá em cima que você colocou que não entendeu é alias(apelido) para o campo que vc está pegando.

Por exemplo, se você substituisse ‘’?(ñ entendi)" por meu_campo:

Isso:

Ficaria assim:

E quando você fosse pegar o valor ao invés de buscar o valor de mas(nomedacoluna) vc buscaria o valor de meu_campo.

Quanto ao erro que acontece aqui:

resultado=comando.executeQuery("select max(ch_total) from cargahoraria ");//esta linha da null while(resultado.next()) {....}

Os nomes do campo e da tabela estão certos?
Como é que você está buscando os valores depois de feita a consulta?! Pode ser que a Exception não esteja ocorrendo nesse trecho de código, mas sim dentro do while…

S

Posta o código inteiro…
Você carregou o resultado ou o comando ???

P
o codigo inteiro é este
public void pesquisa()
	{
		try {
                 int q=0;	
		String f=null;
		System.out.println("select max(ch_total) from cargahoraria ");
			resultado=comando.executeQuery("select max(ch_total) from cargahoraria ");//o nullpointerexcep aponta para esta linha
			while(resultado.next())
			{
				f=resultado.getString(1);
				System.out.println(f);
			}
			q=Integer.parseInt(f);
			atividades=new String[q];
			System.out.println("valor de q "+q+" valor de f "+f);
			for(int i=0;i<atividades.length;i++)
			{
				atividades[i]="atv"+i;
				colunas[i]=atividades[i];
			}
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
tipo eu att coloquei uns system para ver se achava o problema mas naum deu mto certo :oops:
S

Você esta esquecendo de popular o seu ResultSet e e seu Connection com o banco de dados…
O que da nullPointerException é o fato de o programa não achar a variavel comando

Tens que popular suas variaveis… ± assimm

Connection conn = DriverManager.getConnection(STRINGDECONECÇÂO, usuario, senha); //Cria um statement para podermos mandar um SQL para o banco Statement stmt = conn.ResultSet rs = new ResultSet(); //Mandamos o SQL para o banco e obtemos um ResultSet String sql = "select max(ch_total) from cargahoraria " ; ResultSet resultado = stmt.executeQuery(sql)

Ai você faz o

while(resultado.next()) { f=resultado.getString(1); System.out.println(f); }

P

Scoobydoo,
tu tinhas toda a razão arrumei esta parte de conexão e o erro nullpointerexception sumiu
mas olha só acho q tenho outra parte errada no codigo pq agora da arrayindexoutofrbounds!!! :oops:
pode me ajudar a encontrar este erro tmbm?
mto obg pela ajuda
=]

S
É nessa linha que ocorre o erro ?? Como você esta populando o colunas ?

É nessa linha que ocorre o erro ?? Como você esta populando o colunas ?

P

Scooby,
descobri o erro e consegui arrumar é q eu tava fazendo o seguintecolunas[i]=atividades[i];sendo q o vetor atividades tinha tamanho 9 e o vetor colunas tamanho 4 ! :oops: mas agora ja ajustei os tamanhos!
muito obrigada pela ajuda e dicas!!
=]

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