2016-04-29 65 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样本来调试问题。 –

相关问题