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?
Ta foda mesmo em, coloquei um while incrementando um inteiro , quase deu certo.
mas hora que chega no else o RS.NEXT nao carrega.
[quote=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?[/quote]
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
Março 13, 2015, 6:38pm
#4
[quote=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.
[quote=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?[/quote][/quote]
Seja mais claro!
Poste o codigo complento do que você esta querendo fazer.
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);}
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?
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
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:
rs.last();
Só então chame o método getRow():
int linhas = rs.getRow();
Se precisar, volte a primeira linha:
rs.first();
//Trabalha com o rs
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);
}