1

SQLiteデータベースにデータを保存する小さなデスクトップアプリケーションがあります。

現在、アプリを最初に実行するとき(またはユーザーが新しい構成を作成したいとき)、dbファイルを削除して、QSqlQuery.exec( "CREATE TABLE ...")ステートメントのロードを実行します。

db構造を変更する必要があることに気付いたとき、これは、使用していたすべてのSQLを探し出し、動作するように更新するというかなりの作業につながりました。だから今、私はSQL\作成テーブルを保存するためのよりモジュール化されたアプローチを考え出そうとしています...

私の最初のアイデアは、dbを作成するためのSQLステートメントをQtリソースとしてテキストファイルに保存することでしたが、実際に実装したので、「不格好」と感じます(QFile-> QTextStream-> readLine()のループ)読みやすくするために、テキストファイルでSQLステートメントをフォーマットすることはできません。

もう1つの方法は、コンパイル時に空のdbを生成し、それをリソースとして格納することですが、私にとっては、バイナリの余分なサイズが、新しいdb作成の単純さの向上を上回っていると思います。

大量のグローバルconstQStringを作成することもできますが、私はこのアイデアが何よりも好きで、可能であればソースコードから非C ++\Qtを分離することを好みます。

だから、そこに教祖からのアイデアはありますか?

4

1 に答える 1

0

;行末でa を検索すると、 SQL ステートメントを複数行にフォーマットできます。

圧縮すれば、空の DB ファイルは大きくありません。

于 2012-12-08T09:45:50.817 に答える