-1

もちろん、これはより大きなコードの一部です。問題なくコンパイルされますが、このメソッドを呼び出すとエラーが発生します

stmt.executeQuery(SQL) の位置に「"." の近くまたは "." での構文エラー」があります。

私は本当に助けていただければ幸いです!

private void Component() {
    try {
        Statement stmt = con.createStatement();
        String SQL = "SELECT component.*, stock.amount_of_component, component.price component.component_type "
                    + "FROM component JOIN stock "
                    + "ON component.id = stock.component_id "
                    + "ORDER BY component.component_type";
        ResultSet rs = stmt.executeQuery(SQL);

        rs.next();
        int id = rs.getInt("ID");
        int amount_of_component = rs.getInt("Amount");
        String name = rs.getString("Name");
        double price = rs.getDouble("Price");
        String component_type = rs.getString("Type");


       System.out.println(" " + id + amount_of_component + " " + name + " " + price + " " + component_type);

    } catch (SQLException err)
    {
        System.out.println(err.getMessage());
    }
}
4

2 に答える 2

1

component.price と component.component_type の間のクエリにコンマがありません:

SELECT component.*, stock.amount_of_component, component.price, component.component_type 
FROM component JOIN stock 
ON component.id = stock.component_id 
ORDER BY component.component_type

編集: 結果セット全体を読み取るには、rs.next() の代わりにこのサイクルを配置します

while(result.next()) {
    int id = rs.getInt("ID");
    int amount_of_component = rs.getInt("Amount");
    String name = rs.getString("Name");
    double price = rs.getDouble("Price");
    String component_type = rs.getString("Type");
    System.out.println(" " + id + amount_of_component + " " + name + " " + price + " " + component_type);
}

Edit2: ヘッダーを印刷するSystem.out.println(" id amount_of_component name price component_type ");には、while の前に a を付けて手動で行う必要があります。

于 2016-04-06T13:58:04.133 に答える
0

「component.price」と「component.component_type」の間にコンマがありません

于 2016-04-06T14:03:30.153 に答える