2017-01-11 5 views
0

私はQtアプリケーションを開発中です。このアプリケーションは、WindowsOS Xに配布されます。WindowsとOS XでSQLiteデータベースをどこに保存できますか?

このアプリケーションでは、SQLiteデータベースを使用しています。アプリケーションの更新中に上書きされないように、データベースファイルを両方のシステムに保存することはできますか?

注1: 私はすでにOS Xためのものについて同様のquestionを見つけます。答えは、次のコマンドを使用してApplication Supportでそれを維持することでした:

NSString * supportDir = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDir‌​ectory, NSUserDomainMask, YES) lastObject]; 

しかし、私は、あまりにものWindowsでそれを行う必要があります。 Windowsでもこのコマンドを使用する必要がありますか?

注2: 次のように私は自分のアプリケーションの設定を保存するためにINIファイルを使用しています:

QString path = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation); 
QSettings *settings = new QSettings(path+"/Settings.ini", QSettings::IniFormat); 

path変数がC:/Users/user/AppData/Local/MyApplication/(Windowsの場合)です。

データベースファイルを同じパスに保存できますか?

ありがとうございます。

+5

どうしてですか?それは単なるファイルです。 –

+0

私は知っていますが、この種のファイルを保存するための適切な場所( 'C:/ Users/user/AppData/Local/MyApplication /')はこのパスですか? – KelvinS

+2

それはあなた次第です(私はあなたがこのデータベースで何をしているのか分かりませんが)、一般的にはそうです。 –

答えて

1

QStandardPaths::AppDataLocationは、この要件を満たしていますか? qt documentationから

は、永続的なアプリケーションデータが を保存することができるディレクトリの場所を返します。これはアプリケーション固有のディレクトリです。 のデータを他のアプリケーションと共有するためのパスを取得するには、 QStandardPaths :: GenericDataLocationを使用します。返されるパスは決して空ではありません。 Windowsオペレーティングシステムでは、これはローミングパスを返します。この のenum値がQt 5.4で追加されました。

+0

提案をいただきありがとうございます。 DBファイルを保存するのに最適な場所ですが、既にQStandardPaths :: ConfigLocat ion'に保存しています。** Qt 5.3 **を使用しています。この列挙型は**に追加されていますQt 5.4 **。 – KelvinS

+0

それは使いにくいでしょう! –

関連する問題