2017-12-11 9 views
0

大きな問題があります。それは私のSqliteデータベースファイルがに格納されているためです。User/AppData/Local/Virtual Store/Programファイル 。インストーラの作成中に、デフォルトのインストールパスをC:¥Program Filesに設定しました。どのようにすれば、データベースファイルをプログラムファイルに保存することができますか?この問題のため、データベースファイルを見つけることができないため、アプリケーションがユーザーによって開かれるたびに、アプリケーションはデータベースを再作成しています。事前にありがとう...アプリケーションがインストールされるとSqliteデータベースファイルの場所が変更されます

+0

あなたはそれを変更したい場合でも、私は分のために戻って保持するためにあなたを示唆して再考えます。パスをハードコーディングしたり、ファイルの場所を指定する設定を行ったりする場合もあります。あなたのエンドユーザが 'C:'と名付けられたパーティションを持っていないとすれば、これは意味をなさないでしょう。 –

答えて

0

app.config設定ファイルにパスの情報を渡すことをお勧めします。例

<appSettings> 
    <add key="dbpath" value="c:/program files" /> 
    </appSettings> 

とconfigからの読み取りパス。

public static string GetConfigurationValue() 
{ 
    if(ConfigurationManager.AppSettings["dbpath"]!=null) 
     return ConfigurationManager.AppSettings["dbpath"]; 
    else 
     return string.Empty; 
} 
+0

私はdbpathがいつ空になるのか知りたいですか?どの時点で意味するか? –

+0

@anmolrathod - あなたがappSettingから値を削除した場合、その場合は....あなたのアプリケーションが誰かのエントリを削除する場合にアプリケーションがクラッシュするのを止めるためのチェック... –

+0

私は上記のコードを試して、私の場合、デフォルトパスを変更するオプションがあるので、インストールパスはユーザの選択に依存します。 –

関連する問題