Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从mysql表读取时出错_Java_Mysql_Sql - Fatal编程技术网

Java 从mysql表读取时出错

Java 从mysql表读取时出错,java,mysql,sql,Java,Mysql,Sql,我已经在DBflight\u INFO中创建了一个表flight\u data(有9列)。这个表的所有列都是VARCHAR(3or4or5)。虽然我可以在表中添加行(通过另一个java类),但我想编写一个java类,它可以读取该表的每一行。(注意:主类DBaseReader.readDB();)下面是我的工作 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import j

我已经在DB
flight\u INFO
中创建了一个表
flight\u data
(有9列)。这个表的所有列都是
VARCHAR(3or4or5)
。虽然我可以在表中添加行(通过另一个java类),但我想编写一个java类,它可以读取该表的每一行。(注意:主类
DBaseReader.readDB();
)下面是我的工作

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBaseReader {

static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/FLIGHT_INFO";

static final String USER = "root";
static final String PASS = "123456";

private static Connection conn = null;
private static Statement stmt = null;

public static void readDB() {

    String sql = "SELCET * FROM flight_data;"; //removing semi-colon doesn't solve problem
    ResultSet rs = null;

    String flightNo = null;
    String dep = null;
    String arr = null;
    String date = null;
    String flightTime = null;
    String flightDuration = null;
    String fare = null;
    String seat_aval = null;
    String flight_class = null;

    try {
        // STEP 2: Register JDBC driver
        Class.forName("com.mysql.jdbc.Driver");

        // STEP 3: Open a connection
        System.out.println("Connecting to database...");
        conn = DriverManager.getConnection(DB_URL, USER, PASS);

        // STEP 4: Execute a query
        System.out.println("Creating statement...");
        stmt = conn.createStatement();

        rs = stmt.executeQuery(sql);//line 47 where error occurs
        // STEP 5: Extract data from result set

        while (rs.next()) {
            flightNo = rs.getString("flight_no");
            dep = rs.getString("dep");
            arr = rs.getString("arr");
            date = rs.getString("valid_till");
            flightTime = rs.getString("flight_time");
            flightDuration = rs.getString("flight_dur");
            fare = rs.getString("fare");
            seat_aval = rs.getString("seat_aval");
            flight_class = rs.getString("flight_class");

        }

        // Display values
        System.out.print("FLIGHT_NO: " + flightNo);
        System.out.print("DEP: " + dep);
        System.out.print("ARR: " + arr);
        System.out.println("VALID_TILL: " + date);
        System.out.print("FLIGHT_TIME: " + flightTime);
        System.out.print("FLIGHT_DUR: " + flightDuration);
        System.out.print("FARE" + fare);
        System.out.println("SEAT_AVAL: " + seat_aval);
        System.out.println("FLIGHT_CLASS: " + flight_class);

        stmt.close();
        conn.close();
    } catch (SQLException se) {
        // Handle errors for JDBC
        se.printStackTrace();
    } catch (Exception e) {
        // Handle errors for Class.forName
        e.printStackTrace();
    }

    try {
        if (conn != null)
            conn.close();
    } catch (SQLException se) {
        se.printStackTrace();
    }

}
}
但我收到以下错误消息:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELCET * FROM flight_data' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3376)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3308)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1837)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1961)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2537)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2466)
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1383)
at services.DBaseReader.readDB(DBaseReader.java:47)
at services.FlightSearchJDBC.main(FlightSearchJDBC.java:10)

那么,我怎样才能成功地从表格中阅读呢?

嗯。。。用“选择”代替“选择”怎么样

妈的,电脑从不说谎。