2015-11-25 62 views
0
try { 
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost/supermarket?username=root&pa‌​ssword="); 
    Statement st = con.createStatement(); 
    ResultSet rs = st.executeQuery("SELECT * FROM users WHERE username '" + username + "' AND password = PASSWORD('" + password + "')"); 
    rs.next(); 

    if (rs.getRow() == 1) { 
     setVisible(false); 
     new Home().setVisible(true); 
    } 
    else { 
     jLabelAlarm.setText("Incorrect Username or Password!"); 
    } 
} catch (Exception e) { 
} 

我是java新手。此代碼屬於登錄連接到MySQL服務器,但運行後它無法正常工作。用java登錄的代碼

+0

請將代碼複製粘貼到問題中!此外,指定「它不能正常工作」是什麼意思 - 它是否拋出異常或任何東西? – jso

+2

最後,您的代碼易受SQL注入攻擊,請改用'PreparedStatement'。 – jso

+0

這意味着在插入真實的用戶名和密碼後,登錄框可用並要求輸入用戶名和密碼。 – jio

回答

1
("jdbc:mysql://localhost:3306/supermarket/root, ""); 

只是將數據庫連接代碼更改爲此類型。