store使用SQLite以xamarin表单登录用户详细信息

时间:2017-10-27 11:43:48

标签: c# sqlite xamarin.forms

我正在开发Xamarin表单应用程序,当用户第一次登录应用程序时,如果用户用户在登录后只想显示仪表板而尝试启动应用程序,则会有三个欢迎页面。我为此编写了以下代码:

  public LoginUserInfoDbModel SaveUserDetails(LoginUserInfoDbModel model)
        {
            if(model.LoggedInUser!=null)
            {
                return null;
            }
            else
            {
                connection.Insert(model);
                return model;
            }
        }

并以下列方式在LoginPage.xaml.cs中调用上述方法:

if (model.ResultString == "Valid")
                {

                    App.UserDatabase.SaveUserDetails(model);

                    await DisplayAlert("", "You have logged in succesfully ", "Ok");
                     await Navigation.PushAsync(new DashBoardPage());
                }

所以现在我需要检查用户是否已经是DB中的现有用户,所以我在App.xaml.cs中编写了以下代码:

 var connection = DependencyService.Get<ISQLiteDb>().GetConnection();
    var c=connection.CreateTableAsync<LoginUserInfoDbModel>().Result;
    var UserData =  connection.Table<LoginUserInfoDbModel().ToListAsync().Result?.FirstOrDefault();
 if(UserData != null)
{
MainPage= new DashBoardPage();
}
else
{
MainPage=new WelcomePages();
}

但是这段代码不起作用我得到null引用Exception和其他一些例外,那么我们是否有任何替代方案,或者你能建议对这段代码进行任何修改吗?

0 个答案:

没有答案