以下は、データベースから値を取得するために使用しているコードです。
try {
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
connect = DriverManager
.getConnection("jdbc:derby://localhost:1527/TedW;user=x;password=x;");
PreparedStatement statement = connect
.prepareStatement("SELECT * FROM USER");
resultSet = statement.executeQuery();
while (resultSet.next()) {
String user = resultSet.getString("Username");
String password = resultSet.getString("Password");
System.out.println("User: " + user);
System.out.println("ID: " + password);
}
} catch (Exception e) {
System.out.println(e);
}
問題は、実行すると例外が表示されることです。
java.sql.SQLSyntaxErrorException: Syntax error: Encountered "USER" at line 1, column 15.
テーブル名「USER」に問題があることがわかりました。データベースを作成したときにそれを見ましたが、同じです。ダービーでアンデです。以下はそのためのコードです。
CREATE TABLE "USER"
(
"Id" INT not null primary key generated always as identity (START WITH 1, INCREMENT BY 1),
"Username" VARCHAR(20) NOT NULL,
"Password" VARCHAR(20) NOT NULL
);
どこが間違っている可能性がありますか?何か不足していますか?それについていくつかの洞察を得ることができますか?
ありがとう。