Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Ξερει κανεις με πιο τροπο μπορω να ελεγχω αν σε ενα μηνυμα οθονης πατηθει το κουμπι cancel??

Το μηνυμα Canceled!!! δεν εμφανιζεται ποτε!

try
    {
    del = true;
   conn2 = DriverManager.getConnection("jdbc:mysql://localhost/test1?user=me&password=12345");
   stmt2 = conn2.createStatement();
   rs2 = stmt2.executeQuery("SELECT * FROM consoles");
   conn_pr2 = DriverManager.getConnection("jdbc:mysql://localhost/test1?user=me&password=12345");
   String s2 = JOptionPane.showInputDialog(null,"Which console to delete :");
   
// Αν το πεδιο δεν ειναι κενο, κανε διαγραφη και βαλτα σε ενα JTable...

if(!(" ".equals(s2)))
   {


       String sql2 = "DELETE FROM consoles WHERE name =?";
       ps2 =conn_pr2.prepareStatement(sql2);
       ps2.setString(1,s2);
       ps2.executeUpdate();
       model2 = new DefaultTableModel();
       table2 = new JTable(model2);
       model2.fireTableDataChanged();
       model2.addColumn("id");
       model2.addColumn("name");
       model2.addColumn("consoles");

       // Αυτο το μηνυμα εμφανιζεται παντα ΑΚΟΜΑ και αν η εισοδος ειναι κενη!

       JOptionPane.showMessageDialog(null,"Deleted!!!!");


       while(rs2.next())  
       {
       a2 = rs2.getString(1);    
       b2 = rs2.getString(2);
       c2 = rs2.getString(3);    
       model2.addRow(new Object[]{a2,b2,c2});
       }


     model2.fireTableDataChanged();
     table2.setCellSelectionEnabled(true);
     table2.setColumnSelectionAllowed(true);
     table2.setFillsViewportHeight(true);
     table2.setSurrendersFocusOnKeystroke(true);
     table2.setBounds(10,45,461,360);
     model2.fireTableDataChanged();
     if (add == true)
                 frame.getContentPane().remove(table1);
     frame.getContentPane().remove(tablecons);
     frame.getContentPane().add(table2);
     model2.fireTableDataChanged();
     
       conn2.close();
       conn_pr2.close();
       stmt2.close();
       rs2.close();
       ps2.close();
}  //end if

// Οταν παταω Cancel, το πεδιο ειναι κενο ΑΛΛΑ ΠΟΤΕ δεν εμφανιζεται το μηνυμα Caneled!!!

else if(("".equals(s2)))

JOptionPane.showMessageDialog(null,"Canceled!!!");


} catch (SQLException case1) {case1.printStackTrace();
} catch (Exception case2 ){case2.printStackTrace();}}});
Δημοσ.

οκ...


Βασικα εκτος αυτου, τα εβαλα και τα 2 μια φορα με "" και την αλλη με " " και ολο το Deleted!!! βγαζει παλι


Στο πρώτο if έχεις βάλει " " και στο δεύτερο "".

 

Παλι εχει θεματακι

Δημοσ.

απορία,

γιατί γράφεις " ".equals(s2) και όχι s2.equals(""); 

που στην ουσία εσύ θα πρέπει να δεις

s2!=null
και s2==null

Δημοσ.

Αμα ομως εχω παραπανω του ενος if, υπαρχει εντολη που να κλεινει το παραθυρακι διαλογου αλλα οχι το προγραμμα??

 

π.χ

           str1 = JOptionPane.showInputDialog(null,"Console name : ");
           if(!(str1 == null))
           {
                ps1.setString(1,str1);
                str2 = JOptionPane.showInputDialog(null,"Cost : ");
           }
           else 
                 JOptionPane.showMessageDialog(null,"Canceled!!!");
           if(!(str2 == null))
           {
                int2 = Integer.parseInt(str2); 
                ps1.setLong(2,int2);
                str3 = JOptionPane.showInputDialog(null,"CPU : ");
           }
           else
                 JOptionPane.showMessageDialog(null,"Canceled!!!");
           if(!(str3 == null))
           {
                str4 = JOptionPane.showInputDialog(null,"Memory : ");
                ps3.setString(1,str3);
           }
           else
                 JOptionPane.showMessageDialog(null,"Canceled!!!");
           if(!(str4 == null))
           {
                str5 = JOptionPane.showInputDialog(null,"HDD : ");
                ps3.setString(2,str4);
           }
           else
                JOptionPane.showMessageDialog(null,"Canceled!!!");
           if(!(str5 == null))
           {
                 int3 = Integer.parseInt(str5); 
                 ps3.setLong(3,int3);
           }
           else
                 JOptionPane.showMessageDialog(null,"Canceled!!!");
Δημοσ.

Εγω εμφανιζω καμια 5αρια μηνυματα για τα χαρακτηριστικα μιας κονσολας που θα μπουν στη βαση δεδομενων.

 

Και λεω :

 

Στο παραθυρο που εμφανιζεται καθε φορα με το JOptionPane.MessageDialog, πως γινεται να σταματαει εκει ο κωδικας, να μην τον ρωταει για τα αλλα πεδια?

 

Εμενα συνεχιζει και τον ρωταει και για τα αλλα

Δημοσ.

Δες το mvc pattern και μαθε να γράφεις με switch παρα με if else θα σε βοηθήσει πολύ να κατανοήσεις τη java, ο κώδικας θα γίνει πιο ευανάγνωστος Θα μπορούσες π.χ να φτιάξεις μια συνάρτηση που να επιστρέφει boolean για να λύσεις το πρόβλημα σου

Δημοσ.

Εγω εμφανιζω καμια 5αρια μηνυματα για τα χαρακτηριστικα μιας κονσολας που θα μπουν στη βαση δεδομενων.

 

Και λεω :

 

Στο παραθυρο που εμφανιζεται καθε φορα με το JOptionPane.MessageDialog, πως γινεται να σταματαει εκει ο κωδικας, να μην τον ρωταει για τα αλλα πεδια?

 

Εμενα συνεχιζει και τον ρωταει και για τα αλλα

για να μην ρωτάει για τα άλλα πεδία αν όλο αυτό είναι σε μία συνάρτηση, χρησιμοποίησε το keyword return, αλλιώς καλύτερο θα ήταν να έχεις μία συνάρτηση όπως λέει και ο mad-proffessor, στην ουσία όμως πρέπει να διαβάσεις τεχνικές, οπότε δες mvc patterns...

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...