おかげで、私がしなければならなかったしているすべてのものは以下のとおりです。
:main.cppに内のすべての 最初に私は私のオフラインストレージパスを設定します私は私の資源からSQLiteのフォルダに私のプロジェクトで使用するために、私は希望DBを持っているので
QDir dir("./Databases");
if (!dir.exists()) {
dir.mkpath(".");
}
QString new_name = QString(QCryptographicHash::hash(("nameofthecopiedDB"),QCryptographicHash::Md5).toHex());
QFile file(":/SQLite/nameofsourceDB.sqlite");
file.copy("./Databases/" + new_name + ".sqlite");
file.close();
:
engine.setOfflineStoragePath(QString("./"));
それから私はまた、このコードを追加します(:、リソースを示します)。
そして、QMLファイルで、openDatabaseSync()関数:
basedades = Sql.LocalStorage.openDatabaseSync('nameofthecopiedDB',"1.0","Els meus entrenaments",1000000,"QSQLITE")
ありがとうございます!
ありがとうございますが、現在の関数openDatabaseSyncが正しく動作しない可能性がありますか? 私はそれを行う際に、関係なく、私はopenDataBaseSyncに置くウィッヒ名は、プログラムは常に例えば、ranom名前の新しいDBを作成していないので: a32d695d324fbf044d62821c5ee7e4de.sqliteおかげ –
を私はデータベースへのパスを覚えていたようです'QQmlEngine :: offlineStoragePafh' + md5(name)+" .sqlite "です。 'name'は' openDatabaseSync'の第1引数ですので、データベースを適切な名前で置くだけで動作します。 – folibis
@folibis 2つのファイルを交換するよりも、正しい名前の空のファイルを作成すれば十分です。右? – skypjack