我正在尝试使用sqllite
创建内存数据库Connection inMemConn = null;
Class.forName("org.sqlite.JDBC");
inMemConn = DriverManager.getConnection("jdbc:sqlite:inMemDB.db");
Statement DBCreateTable = inMemConn.createStatement();
DBCreateTable.executeUpdate("CREATE DATABASE IF NOT EXISTS inMemDB" );
DBCreateTable.executeUpdate("USE inMemDB");
DBCreateTable. executeUpdate("CREATE TABLE IF NOT EXISTS pNumbertable");
我试图用一些Java对象填充它
final String DBinsert = "INSERT INTO pNumbertable VALUES(?,?)";
PreparedStatement DBAddObjects = inMemConn.prepareStatement(DBinsert);
for (int i = 0; i < List.size(); i++) {
for (int j = 0; j < List2.size(); j++) {
DBAddObjects.setObject(1, XList.get(i)[0]);
DBAddObjects.setObject(2, YList.get(j)[1]);
DBAddObjects.executeUpdate();
}
}
DBAddObjects.close();
inMemConn.close();
但是,在运行代码时,我收到以下错误。
near "DATABASE": syntax error
另外,这是创建内存数据库的正确方法吗?
答案 0 :(得分:0)
SQLite中有CREATE DATABASE语句;通过创建具有所需文件名的连接来创建数据库。
您已打开(或创建)文件名为inMemDB.db
的数据库。
要创建in-memory database,您必须改为使用特殊文件名:memory:
:
DriverManager.getConnection("jdbc:sqlite::memory:");