こんにちは私は私のJavaコードの構文に問題があります。私はtableview
SQLデータベースからそのデータを取得している。私はデータベースに3つのテーブルを作成しましたbook
、customer
、order
。ボタンをクリックすると、選択した書籍を取り出してorder
テーブルに追加します。ここ
メインプログラム(DBからメソッドを呼び出す)のコードは次のとおりJava JDBC Derby構文エラー
if(table.getSelectionModel().getSelectedItems().iterator().hasNext()) {
db.insertOrder(new Bestellung(customerid,table.getSelectionModel().getSelectedItems().iterator().next()));
テーブルbook
が固定されています。他の2つのテーブルcustomer
、order
は動的です。
問題:
私はこのようorder
テーブルに挿入この
String ct = "CREATE TABLE Order (" + "Order_Id integer generated always as identity, " + "CUSTOMER_ID BIGINT" + "ISBN, CHAR(13) " + "PRIMARY KEY(Order_Id))";
ようorder
表中の値のように...
を作成します。 (ここでは、コンパイラは、それが動作しないと言うの位置だString i
に構文の問題がある。)
String i = "INSERT INTO ORDER(CUSTOMER_ID,ISBN), VALUES(?,?)";
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = DriverManager.getConnection(connString);
stmt = conn.prepareStatement(i);
conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt.setLong(1, order.getCustomerId());
stmt.setString(2, order.getBuch().getISBN());
stmt.executeUpdate();
} catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
finally {
try {
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
と、ここで私は、どのように
Syntax error: Encountered "ORDER" at line 1, column 13.
を得た構文エラーです私はstring i
で私の構文を修正する必要がありますか?誰にもアイデアはありますか?
Orderの名前を持つテーブルを作成できますか? –
ああ、名前 'オーダー'もできませんでした。この単語のように思えますが、私はそれを変更しました – Ikarus
SQLで予約されています。今それはありがとう – Ikarus