Id não vem como resultado da pesquisa so os outros dados=([resolvido]

Ola,
estou fazendo uma pesquisa e jogo os itens em uma tabela todos os resultados aparecem com exceção do id pois este campo da tabela fica vazio =(
é q eu preciso do Id para gerenciar as mudanças é mais fácil modificar o item correto.
Meu codigo é o seguinte;

[code]DefaultTableModel modelo;
private void geraTabela()
{
try
{
Vector cabecalho = new Vector();
Vector linhas = new Vector();

		resultado = comando.executeQuery("select valor_entrada,valor_total,parcelas,observacao,valor_parcela,data_pgto,Id from financeiro where rc_aluno='"+ t2.getText() +"'");
		resultado.next();
		final ResultSetMetaData rsmd = resultado.getMetaData();
		for( int i = 1; i <= rsmd.getColumnCount(); ++i )
			cabecalho.addElement( rsmd.getColumnName( i ) );
		do
		{
			Vector<Object> linhaAtual = new Vector<Object>();
			for ( int i = 1; i <= rsmd.getColumnCount(); i++ )
			{
				switch( rsmd.getColumnType(i))
				{
				case Types.VARCHAR:
					linhaAtual.addElement(resultado.getString(i));break;
				case Types.TIMESTAMP:
					linhaAtual.addElement(resultado.getDate(i));break;
				}

			}
			linhas.addElement(linhaAtual);

		}
		while (resultado.next() );
		modelo=new DefaultTableModel(linhas,cabecalho);
		table = new JTable(modelo);...[/code]

obg pela ajuda :wink:

É…
Mesmo com o código não estar ali no [code] (houve uma falha ali?) eu tentei entender.

Não há chamadas ao ID após a consuta ter sido efetuada.

Bom, eu não trabalho muito com resultset mas parece que ali vc fez um switch de Types, vc identificou os campos VARCHAR e TIMESTAMP, para os campos que retornam uma String ou um Date, mas o Id provavelmente é um Long ou Integer, verifica isso ai, talvez esteja faltando um case no seu switch

ola!
olha só troquei o Timestamp porcase Types.INTEGER: e a minha jtable nem apareceu na tela! :shock: depois troquei pocase Types.LONGNVARCHAR:e a tabela apareceu mas o Id nao =(
coloquei um system depois desta linha linhaAtual.addElement(resultado.getString(i)); e no console ficou assim: 260.0_1 2600.0_2 1_3 _4 585.0_5 03/02/2011_6 260.0_1 2600.0_2 2_3 _4 585.0_5 03/02/2011_6 260.0_1 2600.0_2 3_3 _4 585.0_5 03/02/2011_6 260.0_1 2600.0_2 4_3 _4 585.0_5 03/02/2011_6 UPDATE financeiro SET data_pgto = '03/02/2010' WHERE rc_aluno='11'and Id='null'
:shock:
obrigada pela ajuda!

ja arrumei :stuck_out_tongue:

Tinhas razão era o tipo timestamp que tava dando problema pois eu fiz o seguinte:

case Types.INTEGER: linhaAtual.addElement(resultado.getInt(i));System.out.println(resultado.getString(i)+"*"+i);break;
agora aparece o Id!!!
obrigada pela ajuda :slight_smile:

Disponha