2014-04-07 44 views
0

我無法從本地數據庫更新數據。這是我的代碼:本地數據庫更新現有記錄 - Windows Phone 8

private void appBarOkButton_Click(object sender, EventArgs e) 
    { 


     string selectedRowOrderId = ""; 
     if (NavigationContext.QueryString.TryGetValue("selectedItem", out selectedRowOrderId)) 
     { 
      int selectedID = int.Parse(selectedRowOrderId); 
      var query = from TblCustomers customer in orderDB.Customers 
         where customer.Id == selectedID 
         select customer; 

      TblCustomers editCustomer = query.FirstOrDefault(); 
      if (editCustomer != null) 
       editCustomer.Name = txtBoxCustomerName.Text; 

       App.ViewModel.SaveChangesToDB(); 



       // Return to the main page. 
       if (NavigationService.CanGoBack) 
       { 
        NavigationService.GoBack(); 
       } 
      } 
    } 

這是在模型方面:

public void SaveChangesToDB() 
    { 
     orderDB.SubmitChanges(); 
    } 

當我嘗試改變數據庫的東西,萬物看起來OK,而調試。但最終沒有任何變化。請問你能幫幫我嗎。

+0

創建數據庫層,當你遵循的指導?可以添加關於數據層的細節? – csharpwinphonexaml

+0

我使用Microsoft示例進行本地數據庫。我的數據庫工作正常。我可以添加和刪除。但不能編輯數據:( – cvdogan

+0

請將網址發佈到您關注的示例,以便我可以幫助您調試/修復您的項目 – csharpwinphonexaml

回答

1

編輯頁面

XAML:

<phone:PhoneApplicationPage.Resources> 
    <DataTemplate x:Key="ToDoListBoxItemTemplate"> 
      <TextBox HorizontalAlignment="Stretch" Text="{Binding ItemName,Mode=TwoWay}" FontSize="{StaticResource PhoneFontSizeLarge}" 
       Grid.Column="1" Grid.ColumnSpan="2" 
       VerticalAlignment="Top" Margin="-36, 12, 0, 0" 
        ></TextBox> 
    </DataTemplate> 
</phone:PhoneApplicationPage.Resources> 

<Grid x:Name="LayoutRoot" Background="Transparent"> 
    <ListBox 
     x:Name="allToDoItemsListBox" 
     ItemsSource="{Binding AllToDoItems}" 
     Margin="12, 0, 12, 0" Width="440" 
     ItemTemplate="{StaticResource ToDoListBoxItemTemplate}" /> 
</Grid> 

<phone:PhoneApplicationPage.ApplicationBar> 
    <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True"> 
     <shell:ApplicationBarIconButton 
      IconUri="/Images/appbar.check.rest.png" 
      Text="Save" 
      x:Name="newTaskAppBarButton" 
      Click="newTaskAppBarButton_Click"/> 
    </shell:ApplicationBar> 
</phone:PhoneApplicationPage.ApplicationBar> 

代碼背後:

public partial class EditPage : PhoneApplicationPage 
{ 
    public EditPage() 
    { 
     InitializeComponent(); 
     DataContext = App.ViewModel; 
    } 

    protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) 
    { 
     App.ViewModel.SaveChangesToDB(); 
    } 

    private void newTaskAppBarButton_Click(object sender, EventArgs e) 
    { 
     NavigationService.GoBack(); 
    } 
} 

對我的作品

+0

您添加新任務,然後再次打開它並使用此代碼更改其名稱? – cvdogan

+0

是的,我改變它從該視圖,粘貼的XAML只是內容不是視圖的整個代碼 – csharpwinphonexaml

+0

有什麼,我失蹤。 :( – cvdogan

相關問題