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 中创建数据库的正确方法?

4

2 回答 2

7

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

于 2012-11-15T12:35:52.077 回答
4

SQLite 不会创建数据库,如果您分配的文件不存在,则会创建它。

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

于 2012-11-15T12:36:28.593 回答