当我尝试使用java在SQLite中以编程方式创建数据库时,它会在控制台中生成以下错误。
java.sql.SQLException: near "DATABASE": syntax error
at org.sqlite.DB.throwex(DB.java:288)
at org.sqlite.NativeDB.prepare(Native Method)
at org.sqlite.DB.prepare(DB.java:114)
at org.sqlite.PrepStmt.<init>(PrepStmt.java:37)
at org.sqlite.Conn.prepareStatement(Conn.java:224)
at org.sqlite.Conn.prepareStatement(Conn.java:217)
at org.sqlite.Conn.prepareStatement(Conn.java:206)
at com.mmcal.build.BuildDB.executeQuery(BuildDB.java:46)
at com.mmcal.build.BuildDB.createDB(BuildDB.java:19)
at MainGen.main(MainGen.java:16)
我的代码是:
public class BuildDB {
Connection connection;
PreparedStatement ps;
ResultSet rs;
String qry;
public void createDB() {
qry = "CREATE DATABASE IF NOT EXISTS myDb";
executeQuery(qry);
}
public boolean executeQuery(String qry) {
int cnt = 0;
boolean flag = false;
connection = ConnectionMaster.connectDb();
try {
ps = connection.prepareStatement(qry);
cnt = ps.executeUpdate();
System.out.println(flag);
} catch (SQLException e) {
e.printStackTrace();
}
if (cnt == 0) {
flag = true;
}
return flag;
}
}
我的代码中有什么问题,或者这是通过编程方式在SQLite中创建数据库的正确方法?
答案 0 :(得分:6)
使用SQLite,您只需打开数据库。如果它不存在,它将自动为您创建。然后,您可以检查表是否存在并根据需要创建它们。
答案 1 :(得分:3)
SQLite不会创建数据库,如果您分配的文件不存在,则会创建它。
您只需指定一个文件。它没有创建数据库的命令,只创建表