SpenQ
SpenQ

Reputation: 33

What am I doing wrong with this preparedStatement?

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();
}

Exception

SELECT username FROM "STUD1582251"."ACCOUNTS" WHERE username=? INSERT INTO "STUD1582251"."ACCOUNTS" VALUES USERNAME=?, PASSWORD=?, PORTFOLIONAME=? java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended

Upvotes: 3

Views: 415

Answers (1)

KV Prajapati
KV Prajapati

Reputation: 94625

INSERT SQL statement must be:

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

PS: Use " (double quotes) around identifier if it is a reserved word.

Upvotes: 7

Related Questions