2016-08-29 55 views
-1

我一直在尋找驗證本地主機(在我的情況下XAMPP)的用戶名和密碼,即'根'和''(空)。假設用戶更改了localhost用戶名和密碼,那麼我們如何驗證使用java + SQL QUERY。如何驗證localhost用戶名和密碼是否正確或不使用java?

//Database credentials 
    public static Connection conn = null; 
    public static Statement stmt = null; 
    public static String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
    public static String DB_URL = "jdbc:mysql://localhost/"; 

    Class.forName("com.mysql.jdbc.Driver"); 
    conn = DriverManager.getConnection(DB_URL); 
    System.out.println("Driver LOADED");  
    conn = DriverManager.getConnection(DB_URL , LH_USERNAME , LH_PASSWORD); 
    stmt = conn.createStatement(); 

有沒有辦法在執行上述

回答

0

可以圍繞

conn = DriverManager.getConnection(DB_URL , LH_USERNAME , LH_PASSWORD);

絲毫try catch塊在這方法:

try { conn = DriverManager.getConnection(DB_URL , LH_USERNAME , LH_PASSWORD); } catch(SQLException e){ if(e.getMessage().startsWith("Access denied for user")){ System.out.println("Error: nont valid user or password"); //you can add return false if you want return false; } }

0
conn = DriverManager.getConnection(DB_URL , LH_USERNAME , LH_PASSWORD); 

一個當該行執行如果DB_URL,LH_USERNAME,LH_PASSWORD根據你的數據庫是不正確的,那麼你會得到我可以得到布爾結果運行時異常可能是SQLException。如果一些變化,然後再次驗證,然後添加以下代碼

Connection conn = null; 
    try{ 
    Class.forName("oracle.jdbc.driver.OracleDriver");   
    conn = DriverManager.getConnection(DB_URL , LH_USERNAME,LH_PASSWORD); 
    }catch(Exception e) {  
    e.printStackTrace(); 
    } 

如果你得到的異常(康恩== NULL),這意味着你是不是能夠與數據庫進行連接。如果你沒有正確的DB_URL,LH_USERNAME,LH_PASSWORD那麼你會得到運行時異常,當您試圖執行以下行

conn = DriverManager.getConnection(DB_URL , LH_USERNAME,LH_PASSWORD); 
+0

非常感謝你的幫助,此外,我想補充一點,我們必須要CA reful而改變本地主機的用戶名和密碼,像 設置,同時創造本地主機:: 用戶名\t \t :: your_username 主機名\t \t ::本地主機 密碼\t \t :: your_password 全局特權\t用戶以下設置:: ALL PRIVILEGES Grant \t \t ::是 – ViperTecPro