我能知道为什么它没有给出以下代码的输出,因为没有任何错误?
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();
}
}
我可以知道为什么它没有给出以下代码的输出,因为没有任何错误?我能知道为什么它没有给出以下代码的输出,因为没有任何错误?
任何帮助将不胜感激
我想你错过了的DriverManager.getConnection参数端口号,它应该是如下。
Connection connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/restaurant?"+ "user=root&password=");
我已经试过但没有变化 –
可以请你在while循环之前打印rs对象吗? –
线程“main”中的异常java.sql.SQLException:对空结果集进行非法操作。 –
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();
} }
仍然没有输出 –
可你试试下面的代码,而不是connection.close();
if (statement != null) {
statement.close();
}
if (connection!= null) {
connection.close();
}
即使尝试后我仍然无法获得输出:( –
我嘲笑并测试了你的代码,它对我有效如下所述。
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();
}
}
认真吗?你是否创建了数据库?怎么可能? –
是的,我创建了一个小的DB样本来调试问题。 –
你的意思是说,你不能看到表的字段,或没有的println工作???? – piyushj
它只显示运行: 驱动程序加载 数据库连接 在输出面板中建立成功(总时间:0秒)。我正在使用netbeans 8.1 –
我无法看到应在executeQuery()中执行的表的字段。前两个println成功显示 –