App.xaml.cs に次のコードがあります。
private SQLiteConnection dbCon;
public void App_Startup(object sender, StartupEventArgs e)
{
SQLiteConnection.CreateFile("testdb.sqlite");
dbCon = new SQLiteConnection("Data Source=testdb.sqlite;Version=3;");
dbCon.Open();
string query = "create table if not exists Settings(Key nvarchar(max), Value nvarchar(max));";
SQLiteCommand command = new SQLiteCommand(query, dbCon);
command.ExecuteNonQuery();
}
これは問題なく実行されます...しかし、ShellViewModel.csで私はこれを持っています:
public ShellViewModel()
{
dbCon = new SQLiteConnection("Data Source=testdb.sqlite;Version=3;");
dbCon.Open();
string query = "Select Value from Settings where (Key = 'isFirstTime')";
SQLiteCommand command = new SQLiteCommand(query, dbCon);
command.ExecuteNonQuery();
//if(no information or first time)
// show registerationview.xaml
//else
this.ActivateItem(new MainViewModel()); // show main view.
}
問題は、上記のコードで「テーブルが見つかりません」というメッセージが表示されることです。
私が考えることができる唯一の理由は、App.xaml.cs
がプロジェクトのルート ディレクトリにありShellViewModel.cs
、フォルダ内にあるという事実ですが、ルート ディレクトリ内のViewModels
特定のデータベース ファイルを指すようにする方法がわかりません。問題さえ。
問題/解決策は何ですか? 答えを見つけようとしましたが、すべての質問に「問題の考えられる原因」が回答されていたため、あまり役に立ちません。