Problemas com retorno de dados

3 respostas
machitte

e ai galera tudo tranquilo bom minha duvida é a seguinte…
quando faço um select no banco de dados ele retorna o meu dado com uma quebra de linha
e por isto não consigo fazer uma comparação para a entrada de um IF alguém ai sabe como resolver

try{
                    x.rs = x.sstmt.executeQuery(" Select id_lanc_venda as dt from lanc_venda where  l_data between '"+dataBanco+"' and '"+dataBanco1+"' ");
                        while(x.rs.next()){

                            x.xt = x.stmt.executeQuery("Select quantidade as qt,prduto as pr from cont_compra where id_lanc_venda='"+x.rs.getInt("dt")+"'");
                                while(x.xt.next()){                                   

                                    if(x.xt.getString("pr") == "cebola 1"){
                                       JOptionPane.showMessageDialog(null,"teste de entrada ");
                                       C_total1 = C_total1 + x.xt.getInt("qt");
                                  }
                                    if(x.xt.getString("pr") =="cebola 2"){
                                        JOptionPane.showMessageDialog(null,"teste de entrada ");
                                        C_total2 = C_total2 + x.xt.getInt("qt");
                                  }
                                    if(x.xt.getString("pr") =="cebola 3"){
                                        JOptionPane.showMessageDialog(null,"teste de entrada ");
                                        C_total3 = C_total3 + x.xt.getInt("qt");
                                  }
                                    if(x.xt.getString("pr") =="cebola 4"){
                                        JOptionPane.showMessageDialog(null,"teste de entrada ");
                                        C_total4 = C_total4 + x.xt.getInt("qt");
                                  }}}
                }catch(SQLException e){
                JOptionPane.showMessageDialog(null,"erro ao consultar o banco de dados\n"+ e);

o problema esta no select da tabela prduto a String vem com a quebra de linha ???

alguem ae sabe o porque deste erro

3 Respostas

E
if (x.xt.getString("pr") =="cebola 3")

O sinal de “==” não funciona direito com Strings em Java (embora funcione direitinho em JavaScript ou C#).

É uma coisa que você tinha de ter aprendido - se não aprendeu isso, vá dar um pito no seu professor. Ele que ensine as sutilezas do “++” e “–” para outras pessoas; o que importa na sua vida prática é como usar “equalsIgnoreCase”.

Use “equals” ou “equalsIgnoreCase”.

machitte
f(x.xt.getString("pr").equals("cebola 1")){
                                       JOptionPane.showMessageDialog(null,"teste de entrada ");
                                       C_total1 = C_total1 + x.xt.getInt("qt");
                                  }
                                    if(x.xt.getString("pr").equals("cebola 2")){
                                        JOptionPane.showMessageDialog(null,"teste de entrada ");
                                        C_total2 = C_total2 + x.xt.getInt("qt");
                                  }
                                    if(x.xt.getString("pr").equals("cebola 3")){
                                        JOptionPane.showMessageDialog(null,"teste de entrada ");
                                        C_total3 = C_total3 + x.xt.getInt("qt");
                                  }
                                    if(x.xt.getString("pr").equals("cebola 4")){
                                        JOptionPane.showMessageDialog(null,"teste de entrada ");
                                        C_total4 = C_total4 + x.xt.getInt("qt");

mesmo com o equals ele não entra na condição eu acredito que ele não esteja
o fazendo pq existe um quebra de linha antes da String “cebola 1” no retorno do banco
de dados.
Tipo se faço um teste colocando o x.xt.getString(“pr”) eu JOptionPane
ele retorna a string na linha de baixa ele da uma quebra de linha sozinho …mas valeu pela ajuda
ficarei mais atento com o ==.

machitte

galera já resolvi aki acho que estava dando algum conflito no banco
pq zerei todos os meus dados e gravei tudo de novo e rodou belezinha
… valeu

Criado 5 de março de 2012
Ultima resposta 5 de mar. de 2012
Respostas 3
Participantes 2