2016-04-29 68 views
1
package labexercise2; 
import java.sql.*; 

public class LabExercise2 
{ 
public static void main (String [] args) throws SQLException, ClassNotFoundException { 

Class.forName("com.mysql.jdbc.Driver"); 
System.out.println ("Driver Loaded"); 
Connection connection= DriverManager.getConnection("jdbc:mysql://localhost/restaurant?"+ "user=root&password="); 
System.out.println ("Database connected"); 


Statement statement = connection.createStatement(); 
ResultSet rs = statement.executeQuery("SELECT MenuID, MenuName, Type, Cuisine FROM menu WHERE Price BETWEEN 7 AND 13"); 
while (rs.next()){ 
System.out.println(rs.getString("MenuID") + " : " + 
rs.getString("MenuName") + " : " +  
rs.getString("Type") + " : " + 
rs.getString("Cuisine") + " : " + 
rs.getString("Price")); } 

connection.close(); 
} 
} 

我可以知道爲什麼它沒有給出以下代碼的輸出,因爲沒有任何錯誤?我能知道爲什麼它沒有給出以下代碼的輸出,因爲沒有任何錯誤?

任何幫助將不勝感激

+0

你的意思是說,你不能看到表的字段,或沒有的println工作???? – piyushj

+0

它只顯示運行: 驅動程序加載 數據庫連接 在輸出面板中建立成功(總時間:0秒)。我正在使用netbeans 8.1 –

+0

我無法看到應在executeQuery()中執行的表的字段。前兩個println成功顯示 –

回答

0

我想你錯過了的DriverManager.getConnection參數端口號,它應該是如下。

Connection connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/restaurant?"+ "user=root&password="); 
+0

我已經試過但沒有變化 –

+0

可以請你在while循環之前打印rs對象嗎? –

+0

線程「main」中的異常java.sql.SQLException:對空結果集進行非法操作。 –

0

package labexercise2; import java.sql。*;

公共類LabExercise2 { 公共靜態無效的主要(字串[] args)拋出的SQLException,ClassNotFoundException的{

Class.forName("com.mysql.jdbc.Driver"); 
System.out.println ("Driver Loaded"); 
Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/restaurant?"+ "user=root&password="); 
System.out.println ("Database connected"); 


Statement statement = conn.createStatement(); 
ResultSet rs = statement.executeQuery("SELECT * FROM menu WHERE Price BETWEEN 7.00 AND 13.00"); 
while (rs.next()){ 
System.out.println(rs.getString("MenuID") + " : " + 
rs.getString("MenuName") + " : " +  
rs.getString("Type") + " : " + 
rs.getString("Cuisine") + " : " + 
rs.getString("Price")); } 

conn.close(); 

} }

+0

仍然沒有輸出 –

0

可你試試下面的代碼,而不是connection.close();

if (statement != null) { 
      statement.close(); 
     } 

     if (connection!= null) { 
      connection.close(); 
     } 
+0

即使嘗試後我仍然無法獲得輸出:( –

0

我嘲笑並測試了你的代碼,它對我有效如下所述。

import java.sql.*; 

public class LabExercise2 { 

public static void main (String [] args) throws SQLException, ClassNotFoundException { 

Class.forName("com.mysql.jdbc.Driver"); 
System.out.println ("Driver Loaded"); 
Connection connection= DriverManager.getConnection("jdbc:mysql://localhost/restaurant?"+ "user=root&password=root"); 
System.out.println ("Database connected"); 


Statement statement = connection.createStatement(); 
ResultSet rs = statement.executeQuery("SELECT * FROM menu WHERE Price BETWEEN 7 AND 13"); 
while (rs.next()){ 
System.out.println(rs.getString("MenuID") + " : " + 
rs.getString("MenuName") + " : " +  
rs.getString("Type") + " : " + 
rs.getString("Cuisine") + " : " + 
rs.getLong("Price")); } 

connection.close(); 
} 

}

+0

認真嗎?你是否創建了數據庫?怎麼可能? –

+0

是的,我創建了一個小的DB樣本來調試問題。 –

相關問題