nandobonacordi 13 de mar. de 2015
Ta foda mesmo em, coloquei um while incrementando um inteiro , quase deu certo.
mas hora que chega no else o RS.NEXT nao carrega.
nandobonacordi:
Galera, to testando tudo o que o resulte set tem…
só preciso fazer isso
try {
if ( rs .???() > 1 ) {
// fa ço o que preciso
}
else {
try {
while ( rs .next ()) {
// fa ço outra coisa
}
alguém sabe como fazer isso?
ViniGodoy 13 de mar. de 2015
Não entendi nada. Pode descrever que tipo de dados você tem nesse resultset e porque você precisa fazer a operação desse jeito?
beto11 13 de mar. de 2015
nandobonacordi:
Ta foda mesmo em, coloquei um while incrementando um inteiro , quase deu certo.
mas hora que chega no else o RS.NEXT nao carrega.
nandobonacordi:
Galera, to testando tudo o que o resulte set tem…
só preciso fazer isso
try {
if ( rs .???() > 1 ) {
// fa ço o que preciso
}
else {
try {
while ( rs .next ()) {
// fa ço outra coisa
}
alguém sabe como fazer isso?
Seja mais claro!
Poste o codigo complento do que você esta querendo fazer.
nandobonacordi 13 de mar. de 2015
Eu só gostaria de saber se existe alguma forma de eu verificar se o RS.next() é >= 2 ou rs.getRow()…
O que eu posso usar no pra saber se tem mais de uma linha no rs.
Ai se tiver mais de uma linha chamo uma janela.
senao
posso só passar o rs.getString
agora esta caindo direto no Else
try {
if ( rs . getStatement (). getResultSet (). getRow () >= 2 ){ // nao adiantou
janela_02 . recebe_tela01 ( this , ACN );
this . janela_02 . setVisible ( true );
System . out . println ( "if" );
}
else {
System . out . println ( "else if" ); //passa
while ( rs . next ()){
txt_nome . setText ( rs . getString ( "NOME" ));
txt_id . setText ( rs . getString ( "ID" ));
txt_nasc . setText ( rs . getString ( "NASC" ));
txt_data . setText ( rs . getString ( "DATA" ));
txt_aetitle . setText ( rs . getString ( "AETITLE" ));
txt_descr . setText ( rs . getString ( "DESCR" ));
}
while ( rs2 . next ())
{
dfm . addRow ( new Object [] { rs2 . getString ( "Exame" ), rs2 . getString ( "Descricao" ), rs2 . getString ( "NOME" ), rs2 . getString ( "Dt_movimentacao" ), rs2 . getString ( "Origem" ), rs2 . getString ( "Destino" )});
}
}
} catch ( Exception e ){ JOptionPane . showMessageDialog ( this , "fudeu" + e );}
ViniGodoy 13 de mar. de 2015
O que seria ser >= 2? Ter duas linhas? Estar no segundo registro?
O que exatamente você está fazendo, e para que você precisa desses comandos?
nandobonacordi 13 de mar. de 2015
ter 2 linhas
a principio meu retorno deve ter somente uma linha.
se tiver mais de uma chamo uma a janela 2
team viewer
312 004 225
te mostro
ViniGodoy 13 de mar. de 2015
Faça a consulta solicitando um ResultSet scrolável:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery(...);
Vá para a última linha:
Só então chame o método getRow():
int linhas = rs . getRow ();
Se precisar, volte a primeira linha:
rs . first ();
//Trabalha com o rs
nandobonacordi 17 de mar. de 2015
int i = 0 ;
try {
if ( rs . last ()) {
i = rs . getRow ();
//verifico as linhas no result set
rs . beforeFirst ();
}
if ( i >= 2 ) { //se tiver mais que 1 registro
janela_02 . recebe_tela01 ( this , ACN );
this . janela_02 . setVisible ( true ); //chamo tela para selecionar
} else {
System . out . println ( "entrou else if" ); //senão preencho os campos
while ( rs . next ()) {
System . out . println ( "entrou while rs" );
txt_nome . setText ( rs . getString ( "NOME" ));
txt_id . setText ( rs . getString ( "ID" ));
txt_nasc . setText ( rs . getString ( "NASC" ));
txt_data . setText ( rs . getString ( "DATA" ));
txt_aetitle . setText ( rs . getString ( "AETITLE" ));
txt_descr . setText ( rs . getString ( "DESCR" ));
}
while ( rs2 . next ()) {
dfm . addRow ( new Object []{ rs2 . getString ( "Exame" ), rs2 . getString ( "Descricao" ), rs2 . getString ( "NOME" ), rs2 . getString ( "Dt_movimentacao" ), rs2 . getString ( "Origem" ), rs2 . getString ( "Destino" )});
}
}
} catch ( Exception e ) {
JOptionPane . showMessageDialog ( this , ": " + e );
}