Tá difícil, alguém pode ajudar?

3 respostas
D

Preciso normalizar os campos de uma tabela neste estilo!!

A,B,C,D são os nomes das colunas. Ex.;

Vamos ao exemplo:
A - B - C - D
01 - 01 - 01 - 00009
----------------- 21457
----------------- 45871
----------------- 49871
------------02 - 00010
---------------- 14784
---------------- 96358
------ 02 - 03 - 32145
---------------- 21365

é o seguinte eu preciso concatenar os valores A+B+C “010101” e repetir até o próximo registro “02”, então concateno “010102” e reptio at´´e o próximo registro “03” e assim sucessivamente, isso para a coluna C, na coluna B eu preciso concatenar A+B “0101” e repetir até o próximo registro igual ao outro depois “0102” até o próximo e a coluna A a mesma coisa repete o “01” até o próximo registro.

tem que ficar assim:
A ---- B ------- C ------ D
01 - 0101 - 010101 - 00009
01 - 0101 - 010101 - 21457
01 - 0101 - 010101 - 45871
01 - 0101 - 010101 - 49871
01 - 0101 - 010102 - 00010
01 - 0101 - 010102 - 14784
01 - 0101 - 010102 - 96358
01 - 0102 - 010203 - 32145
01 - 0102 - 010203 - 21365

eu preciso disso, então estou tentando bolar uma lógica no java, pois consegui fazer no VB, mas não estou consseguinto passar pro java, alguém poderia me ajudar aqui, mande sugestões, de como posso resolver isso.

um abraço,
no aguardo.
Darta.

3 Respostas

Guilherme_Silveira

Darta, o negocio eh pensar primeiro no vb e depois no java entao, resolvendo o prob no vb eh soh copiar o codigo e transformar em java. O mesmo vc pode fazer pra pseudo-codigo:

Voce tem os valores: A atual, B atual e C atual.

Para cada linha, voce le A, B, C e D (nas os atuais, mas sim como novas variaveis):

Se A for diferente de nulo ou algo do genero, A atual = A
Se B for diferente de nulo ou algo do genero, B atual = B
Se C for diferente de nulo ou algo do genero, C atual = C

Linha nova = A atual + “-” + A atual + B atual + “-” + A atual + B atual + C atual + “-” + D atual

D

Isso mesmo Guilherme, este foi meu pensamento, só que não estou entendendo o que está acontecendo, olha só:

Coloquei este while e joguei os valores respectivos nas varáveis abaixo, então criei meu if!!

while (rs.next())

{

String brick = rs.getString(COD_BRICK);

String territorio = rs.getString(COD_TERRITORIO);

String distrito = rs.getString(COD_DISTRITO);

String regiao = rs.getString(COD_REGIAO);
if(brick !=(null) && territorio !=(null) && distrito !=(null) && regiao!=(null))

{	

//    cod_territorio = rs.getString(“COD_TERRITORIO”);

dsc_territorio = rs.getString(DSC_TERRITORIO);

}

Assim, com o cod_territorio comentado, do jeito que está aqui ele funciona, retorna somente os valores onde a condição do if for satisfeita, mas seu descomentar o cod_territorio ele compila mas na hora de rodar ele  um erro de No data found!!!
Falha no SQL

java.sql.SQLException: No data found

java.sql.SQLException: No data found

at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:4263)

at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:1895)

at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:

1804)

at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:215)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:271)

    at normalizacao_regiao.main(normalizacao_regiao.java, Compiled Code)

E agora, o que pode ser isso!!??

Guilherme_Silveira

viu darta, eu respondi no outro thread q vc postou uma questao sobre essa excecao, da uma procurada, expliquei que o problema eh como funciona uma request em um banco de dados, que ela - POR DEFAULT - nao eh de ida e volta, e sim sopmente de ida… veja la que resolve o seu problema

gui

Criado 12 de setembro de 2002
Ultima resposta 13 de set. de 2002
Respostas 3
Participantes 2