SQLite:"DATABASE "附近:语法错误。

问题描述 投票:2回答:2

当我尝试使用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中通过程序化创建数据库的正确方法吗?

java sqlite sqlexception
2个回答
6
投票

使用SQLite,你只需要打开数据库。 如果它不存在,它会自动为你创建。 然后你可以检查你的表是否存在,并根据需要创建它们。


3
投票

SQLite不会创建数据库,如果你指定的文件不存在,它就会被创建。

你只是分配了一个文件。它没有创建数据库的命令,只有创建表的命令。

© www.soinside.com 2019 - 2024. All rights reserved.