Nejde deklarace proměnné – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Nejde deklarace proměnné – Java – Fórum – Programujte.comNejde deklarace proměnné – Java – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Bumblebee
~ Anonymní uživatel
3 příspěvky
9. 6. 2013   #1
-
0
-

Zdravím, mám problém s deklarací proměnné v metodě. Pomocí metody controlLogin ověřuju shodu hesla v DB se zadaným, na základě shody potom chci změnit údaj v logUser a tady nastává můj problém. Po sběhnutí metody se
obsah logUser nemění. Když vytvořím jinou metodu, nebo deklaruji logUser v konstruktoru, nebo userList vše funguje jak má. Už netuším co zkusit, budu vděčný za každou pomoc.

public class DBConnection {
    
    private Connection con;
    private Statement st;
    private ResultSet rs;
    
    private String dbUrl = "jdbc:mysql://*************/*****";
    private String dbUser = "*****";
    private String dbPasswd = "*****";
    
    private boolean controlLogin = false;
    private String logUser = null;
    
    protected DBConnection() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection(dbUrl, dbUser, dbPasswd);
            st = con.createStatement();
        }catch (ClassNotFoundException | SQLException ex){
            JOptionPane.showMessageDialog(null, ex); 
        }
    }
    
    protected boolean controlLogin(String nameIn, String passwdIn) {
        try {
            rs = st.executeQuery("SELECT passwd FROM user WHERE nick = " + 
                    "'" + nameIn + "'");
            while(rs.next()) {
                String data = rs.getString("passwd");
                if(data.equals(passwdIn)) {
                    controlLogin = true;
                    this.dbUser = nameIn;
                    break;
                }else {
                    controlLogin = false;
                }
            }
        }catch(SQLException ex) {
            JOptionPane.showMessageDialog(null, ex);
        }            
        return controlLogin;
    }
    
    protected DefaultListModel userList() {
        DefaultListModel userList = new DefaultListModel();
        try {
            rs = st.executeQuery("SELECT nick FROM user");
            while(rs.next()) {
                userList.addElement(rs.getString("nick"));
            }
        } catch(SQLException ex) {
            JOptionPane.showMessageDialog(null, ex);
        }
        return userList;
    }
        
    protected void vypis () {
        System.out.println(logUser);
    }
    
}
Nahlásit jako SPAM
IP: 93.91.49.–
Reklama
Reklama
KIIV+42
God of flame
9. 6. 2013   #2
-
0
-

vidim jedinej logUser ve vypisu... ale pokud to "deklarujes" uvnitr metod, tak ta nadrazena neni videt

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Bumblebee
~ Anonymní uživatel
3 příspěvky
9. 6. 2013   #3
-
0
-

#2 KIIV
Podle uvozovek hádám že sem zamotal terminologii :D...  Ale nad konstruktorem mám
 

 private String logUser = null;

Potom mám metodu
 

protected boolean controlLogin(String nameIn, String passwdIn) {
        try {
            rs = st.executeQuery("SELECT passwd FROM user WHERE nick = " + 
                    "'" + nameIn + "'");
            while(rs.next()) {
                String data = rs.getString("passwd");
                if(data.equals(passwdIn)) {
                    controlLogin = true;
                    this.dbUser = nameIn;
                    break;
                }else {
                    controlLogin = false;
                }
            }
        }catch(SQLException ex) {
            JOptionPane.showMessageDialog(null, ex);
        }            
        return controlLogin;
    }

kterou se do toho "private String logUser = null;" snažím dostat obsah vstupní proměnné metody "String nameIn"
Tohle všechno sběhne OK když si dám za ten if něco vypsat tak to vypíše ale obsah private String logUser = null; se nemění.

Nahlásit jako SPAM
IP: 93.91.49.–
KIIV+42
God of flame
9. 6. 2013   #4
-
0
-

no jestli si to v zapalu boje uz z toho odmazal, tak to tam vrat..  jelikoz tam nikde logUser nemenis - tim se nemuze zmenit

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Bumblebee
~ Anonymní uživatel
3 příspěvky
9. 6. 2013   #5
-
0
-

#4 KIIV
Ježiš omlouvám se až teď sem si toho všiml, koukal sem na to asi hodinu a nevšiml sem si že místo do logUser to hážu do dbUser... ctrl+mezerník a moje dislexie mi to občas dost komplikuje. Děkuju za trpělivost :D

Nahlásit jako SPAM
IP: 93.91.49.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 40 hostů

Podobná vlákna

Deklarace pole — založil svobodicz

Deklarace pole stringů — založil PiranhaGreg

Automatická deklarace charů — založil Sprinter

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý