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 に答える