【发布时间】:2016-12-06 01:19:54
【问题描述】:
所以我试图创建新的 SQLite 表,其名称由我的应用程序中创建的字符串设置。字符串是从 int userID 和当前日期(到字符串)创建的
LocalDate date = LocalDate.now();
public void save() {
String db;
db = String.valueOf("uid" + userID + date.toString());
try {
PreparedStatement pst = conn.prepareStatement("CREATE TABLE ?(name TEXT, kcal FLOAT, protein FLOAT, carbs FLOAT, fat FLOAT)");
pst.setString(1, db);
pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
最后的字符串如下所示:uid02016-12-05
不幸的是,我得到了
org.sqlite.SQLiteException: [SQLITE_ERROR] SQL 错误或缺少数据库(“?”附近:语法错误)
以及指向我的 PreparedStatement 的错误,我敢打赌“?”有问题,但如何以其他方式进行呢?
【问题讨论】:
-
无法使用
PreparedStatement占位符设置表名。