2016-08-29 53 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