2015-10-05 49 views
0

我使用sqlite數據庫在windows phone 8.1應用程序中創建了一個登錄頁面和註冊頁面。當我通過數據庫中的值登錄時如何創建類似於正常郵件服務(如使用sqlite數據庫的gmail)的郵件系統。使用Sqlite如何在Windows Phone 8.1中保持郵件服務

(或)

如何保存特定用戶的數據相對於登錄的用戶。當應顯示用戶登錄到炫魅他的數據。

請回答上述兩個問題。

我成功創建了登錄和註冊頁面,我可以將值插入數據庫。導航到新頁面後,我應該爲了顯示在用戶

protected async override void OnNavigatedTo(NavigationEventArgs e) 
    { 
     var dbpath = ApplicationData.Current.LocalFolder.Path + "/ebook.db"; 
     var con = new SQLiteAsyncConnection(dbpath); 
     await con.CreateTableAsync<Register>(); 
    } 
    private async void Button_Click(object sender, RoutedEventArgs e) 
    { 
     var dbpath = ApplicationData.Current.LocalFolder.Path + "/ebook.db"; 
     var con = new SQLiteAsyncConnection(dbpath); 
     await con.CreateTableAsync<Register>(); 
     Register m = new Register(); 

     m.Name = text_reg.Text; 
     m.Password = text_password.Password; 
     string r = ""; 
     if (radio_male.IsChecked == true) 
     { 
      r = "Male"; 

     } 
     else 
     { 
      r = "Female"; 

     } 
     m.Gender = r; 
     m.State = ((ComboBoxItem)combo_box.SelectedItem).Content.ToString(); 


     await con.InsertAsync(m); 

     MessageDialog md = new MessageDialog("success"); 
     await md.ShowAsync(); 
    } 

    private async void Button_Click_1(object sender, RoutedEventArgs e) 
    { 
     Windows.Storage.ApplicationDataContainer data = Windows.Storage.ApplicationData.Current.LocalSettings; 
     data.Values["check"] = text_reg.Text; 
     var dbpath = ApplicationData.Current.LocalFolder.Path + "/ebook.db"; 
     var con = new SQLiteAsyncConnection(dbpath); 

     Register t = new Register(); 
     string query = string.Format("select Name,Password from Register where Name='{0}' and Password='{1}'", text_user.Text, text_pass.Password); 
     List<Register> mylist = await con.QueryAsync<Register>(query); 
     if (mylist.Count == 1) 
     { 
      t = mylist[0]; 
     } 

     if (t.Name == text_user.Text && t.Password == text_pass.Password) 
     { 

      this.Frame.Navigate(typeof(MainPage)); 
     } 
     else 
     { 
      var messagedialog = new MessageDialog("Unsuccessful").ShowAsync(); 
     } 
    } 

所記錄的數據代碼上面的代碼運行成功。在導航到下一頁(即MainPage)後,如何顯示特定數據

回答

0

好的,郵件系統是我無法完全理解的問題的一部分。至於第二部分,你有很多選擇。

  1. 使用一個靜態屬性,將保存t並在應用程序的每個頁面中重用它,如果你想。
  2. 使用ViewModel來保存您希望在應用程序中重複使用的任何值。
  3. 寫你想你的應用程序範圍內的一個臨時文件的任何值/域

最簡單的辦法是選擇1 只需添加public static Register CurrentUser { get; set; };您App.xaml.cs.

並且你可以通過App.CurrentUser.NameApp.CurrentUser.Password

訪問此變量,不要忘記你的導航主頁之前設置CurrentUser。

App.CurrentUser = t; 
相關問題