Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Как сделать сверку и допуск


Автор: XClan 25.6.2004, 15:00
Как мне перед сохранением сделать проверку

Код

DBForms dbform = new DBForms(null,true);
       dbform.show(); //вызываю графическое диалоговое окно
                  if(dbform.CloseType()){
                    String Name = dbform.Name(); //поле имя базы
                    String targIP = iphash.checkIP(dbform.IpAddr()); //ip базы
                    String User = dbform.User();//поле админа
                    String Passw = dbform.Pass();//пароль админа
                    if (targIP!= null){
                        DataBase dbase = new DataBase(Name, User, Passw, targIP); //сохранение в базу
                       }else{
                           jOptionPane3.showMessageDialog
                           (JAL.this,"IP : " +targIP + " является не верным \nДиапазон может быть равен только от\n1.0.0.0 до 255.255.255.255", "Ошибка",jOptionPane3.ERROR_MESSAGE);
                           return;
                   }
               }
       return;


Мне нужно сверить с базой ( как сравнить?)
Код

DataBase db = new Database();
String Name с db.name();
String targIP c db.IPbase();
String User c db.User();
String Passw c db.Passw();


Прежде чем делать , в противном случае , если не совпадает одна из них вызвать jOptionPane для подтверждения изминения..
Код

DataBase dbase = new DataBase(Name, User, Passw, targIP); //сохранение в базу

Автор: Domestic Cat 25.6.2004, 15:16
Jа чего то не совсем понял, если вам надо сравнить то через equals
Код

if(!User.equals(db.User()) { ... }
...

Если нет, то с чем?

Кстати с заглавноu буквы обычно начинается имя класса, имя переменноu начинается с маленькоu.

Автор: XClan 25.6.2004, 16:01
Я попробовал так :

Код

DBForms dbform = new DBForms(null,true);
       dbform.show();
       DataBase dbases = new DataBase();
                  if(dbform.CloseType()){
                    String Name = dbform.Name();
                    String User = dbform.User();
                    String Passw = dbform.Pass();
                    String targIP = iphash.checkIP(dbform.IpAddr());
                    if (targIP!= null){
                        boolean changes=false;
                        if(Name.compareTo(dbases.Name()) != 0) // тут уже ворчит!;( Типа java.lang.NullPointerException
                           changes=true;
                        else if(User.compareTo(dbases.User()) != 0)
                            changes=true;
                        else if(Passw.compareTo(dbases.Pass()) != 0)
                            changes=true;
                        else if(targIP.compareTo(dbases.IpAddr()) != 0)
                            changes=true;
                        if(changes){
                            int y = JOptionPane.showConfirmDialog(null, "Параметры cединения c базой " + dbases.Name()+" изменились \nСохранить изменения?","Внимание.", JOptionPane.YES_NO_OPTION,
                  JOptionPane.QUESTION_MESSAGE);
                if (y == JOptionPane.YES_OPTION) {
                   changes=true;
                        DataBase dbase = new DataBase(Name, User, Passw, targIP);
                        System.out.println(Name);
                }
                      return;      
                       }
                       
                    }else{
                           jOptionPane3.showMessageDialog
                           (JAL.this,"IP : " +targIP + " является не верным \nДиапазон может быть равен только от\n1.0.0.0 до 255.255.255.255", "Ошибка",jOptionPane3.ERROR_MESSAGE);
                           return;
                   }
               }
       return;


Куда смотреть мне ? Или можно по другому???

Автор: Domestic Cat 25.6.2004, 17:15
Лучше бы использовать equals.
Все равно, речь идет просто о сравнении строк или о чем то другом?

Автор: LSD 26.6.2004, 12:15
Может такой метод сравнения подойдет.
Код
public static equals(Object o1, Object o2)
{
 return (x == null && y == null) || x.equals(y);
}

Автор: XClan 28.6.2004, 11:53
Domestic Cat - да я о сравнении строк ! ( правда в моем случае почему то ещё dbases.Name() = null) ...хотя ....

Автор: LSD 28.6.2004, 18:15
Так чем тебя не устраивают equals() и equalsIgnoreCase()?
Мой код и возвращает true если оба объекта null или equals() вернул true.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)