3
private Connection conn = DriverManager.getConnection(URL, info);
try {
String sql = "INSERT INTO \"STUD1582251\".\"ACCOUNTS\" VALUES USERNAME=?, PASSWORD=?, PORTFOLIONAME=?";
    PreparedStatement stm = conn.prepareStatement(sql);
    stm.setString(1, user.getUsername());
    stm.setString(2, user.getPassword());
    stm.setString(3, user.getPortfolioName());
    System.out.println(sql);
    stm.executeUpdate();
} catch (SQLException e) {
    e.printStackTrace();
}

例外

「STUD1582251」からユーザー名を選択します。「アカウント」WHERE ユーザー名=? INSERT INTO "STUD1582251"."ACCOUNTS" 値 USERNAME=?, PASSWORD=?, PORTFOLIONAME=? java.sql.SQLSyntaxErrorException: ORA-00933: SQL コマンドが正しく終了していません

4

1 に答える 1

7

INSERT SQL ステートメントは次のようにする必要があります。

 String sql = "INSERT INTO \"STUD1582251\".\"ACCOUNTS\" (USERNAME,PASSWORD,PORTFOLIONAME) VALUES (?,?,?)";

PS:予約語の場合は、識別子を " (二重引用符) で囲みます。

于 2012-09-24T10:24:32.347 に答える