2015-08-28 54 views
-1

我對編程還比較陌生,這是我第一次嘗試用數據庫創建一個程序。我在PhpMyAdmin中創建了數據庫。用於訪問數據庫的兩個類之間沒有錯誤,但它不打印所需的信息。只是想知道如果有誰更有經驗,那麼我可以看到我出錯的地方。由於Java到MySQL的連接錯誤

的主要方法如下:

public class Main { 
    public static void main(String[] args) { 
     DBConnect connect = new DBConnect(); 
     connect.getData(); 
    } 
} 

然後將數據庫連接方法如下:

import java.sql.*; 

public class DBConnect { 
    private Connection con; 
    private Statement st; 
    private ResultSet rs; 

    public DBConnect(){ 
     try{ 
      Class.forName("com.mysql.jdbc.Driver"); 
      con = DriverManager.getConnection("jdbc:mysql://localhost:8080/software","root","usbw"); 
      st = con.createStatement(); 
     }catch(Exception ex){ 
      System.out.println("Error:" + ex); 
     } 
    } 

    public void getData(){ 
     try{ 
      String query="select from * football"; 
      rs = st.executeQuery(query); 
      System.out.print("Records from the database"); 
      while(rs.next()){ 
       String name = rs.getString("Name"); 
       System.out.print("Name: "+name+" "); 
      } 
     }catch(Exception ex){ 
      System.out.println(ex); 
     } 
    } 
} 

如果任何人都可以看到問題所在,或有任何其他種類的意見吧將不勝感激

再次感謝

回答

2

Y OU有不正確的查詢

選擇從*足球

應該

SELECT * FROM足球

同時檢查,你有正確的MySQL端口。我想這應該是3306,而不是8080

試試這個:

public static void main(String[] args) throws Exception { 
    Class.forName("com.mysql.jdbc.Driver"); 
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/software", "root", "usbw"); 
    Statement st = con.createStatement(); 
    String query="select * from football"; 
    ResultSet rs = st.executeQuery(query); 
    System.out.print("Records from the database"); 
    while(rs.next()){ 
     String name = rs.getString("Name"); 
     System.out.print("Name: "+name+" "); 
    } 
} 
0

你的SQL語句爲select from * football,並應select * from football

另一件事,你是連接到使用8080端口的MySQL,是否正確?一般MySQL在3306端口監聽。