2

データを格納するためのローカルデータベース(SQL Server Compact 3.5データベース)を使用して、VB.NETで(Microsoft Visual Basic 2010 Expressを使用して)アプリケーションを作成しました。

これをユーザーのコンピューターにインストールし、「更新をオンラインで検索」機能を追加しました(公開時に選択できます)。

新しいバージョンをアップロードすると、データベースのデータが消去されることがあることに気づきました。(おそらく、開発中にdtbを開いたとき)

これは私がシステムをどのように動作させたいかではなく、オフコースであり、データは常にユーザーのコンピューターに残しておく必要があります。

「アプリケーションファイル」では、データベースファイル(* .sdf)は現在「データファイル(自動)」に設定されていますが、これがどのように機能するか正確にはわかりません。

誰かが私にこれらすべてがどのように機能するかを理解するのを手伝ってくれますか、そして更新後でもユーザーデータベースのデータが残ることをどのように確認できるか教えてもらえますか?これを確実にする解決策がない場合、データを安全にバックアップしてリロードする方法はありますか?

前もって感謝します!!

4

1 に答える 1

0

基本的に、クリックワンインストールは、公開に含まれているプログラムフォルダ内のすべてを上書きします。したがって、.sdfを含めると、インストーラーの実行時にそれが上書きされます。代わりに、sdfで「除外」を選択する必要があります。これにより、データベースは以前の状態に保たれます。

したがって、2つの異なる発行を行うことをお勧めします。初回インストール時にのみ使用される.sdfを含む作成したもので、その後、すべての更新プログラムでそれを除外します。

テーブルの更新を実行するには、ソフトウェアでそのテーブルのSQLを作成する必要があります。基本的に、すべてのテーブルをチェックして、起動時に適切に設定されていることを確認します。そうでない場合は、不足している列を追加します。

お役に立てれば。

于 2012-10-18T14:33:53.823 に答える