windows phone 8根据sqlite数据库的结果更改起始页面

时间:2014-12-01 10:33:30

标签: c# windows-phone-8

我想根据sqlite db的结果更改我的应用的起始页面。我从appmenifist文件中删除了nevigationpage参数。在App.xaml.cs中我正在使用

的应用程序启动功能
            Conn = new SQLiteAsyncConnection(DB_PATH);
            var BabayData = Conn.QueryAsync<baby>("SELECT * FROM baby");

            if (BabayData.Count == 0)
            {
                RootFrame.Navigate(new Uri("/Profile.xaml", UriKind.Relative));
            }
            else
            {
                RootFrame.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
            }  

但它显示错误的结果。 (我查了一下,查询没有给出任何结果。)如果有一个婴儿,我怎么能解决这个问题MainPage.xaml shuld b start page。

此致

1 个答案:

答案 0 :(得分:0)

我认为您的应用在连接到数据库之前就已启动了。所以你可以创建一个prelogin页面或试试这个:

private async void Application_Launching(object sender, LaunchingEventArgs e) 
        { 
            try 
            { 
                await ApplicationData.Current.LocalFolder.GetFileAsync(DB_PATH); 
                Connection = new SQLiteAsyncConnection(DB_PATH); 
            } 
            catch (FileNotFoundException) 
            { 
              CreateDbAsync(); // create if not exists
            } 
        }

example here