2015-02-07 116 views
0

我收到以下錯誤,我不知道爲什麼,因爲我的應用程序在4小時前正常運行,但現在不工作,我並沒有改變任何東西..在System.Data.Linq.dll中發生類型爲「System.Data.SqlServerCe.SqlCeException」的未處理的異常

的類型 「System.Data.SqlServerCe.SqlCeException」未處理的異常出現在 System.Data.Linq.dll

我得到錯誤在行db.SubmitChanges(); ..我離開下面的完整代碼。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Documents; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Animation; 
using System.Windows.Shapes; 
using Microsoft.Phone.Controls; 
using System.IO.IsolatedStorage; 
using System.IO; 
using Microsoft.Phone.Shell; 
using System.ComponentModel; 
using System.Data.Linq; 
using System.Collections.ObjectModel; 

namespace Aplicativo_Windows_Phone 
{ 
    public partial class AddColetor : PhoneApplicationPage 
    { 
     string email; 

     public AddColetor() 
     { 
      InitializeComponent(); 
     } 

     protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
     { 
      base.OnNavigatedTo(e); 
      NavigationContext.QueryString.TryGetValue("email", out email); 
     } 

     private void btnAdd_Click_1(object sender, RoutedEventArgs e) 
     { 
      AppDataContext db = new AppDataContext(); 
      Coletor coletor = new Coletor(); 
      if (rdNorte.IsChecked == true) 
      { 
       coletor.Latitude = Convert.ToInt32(txtLat.Text); 
      } 
      else 
      { 
       coletor.Latitude = Convert.ToInt32(txtLat.Text) - (2 * Convert.ToInt32(txtLat.Text)); 
      } 

      if (rdLeste.IsChecked == true) 
      { 
       coletor.Longitude = Convert.ToInt32(txtLong.Text); 
      } 
      else 
      { 
       coletor.Longitude = Convert.ToInt32(txtLong.Text) - (2 * Convert.ToInt32(txtLong.Text)); 
      } 

      if (txtLat.Text != "" && txtLong.Text != "" && rdNorte.IsChecked == true || rdSul.IsChecked == true && rdLeste.IsChecked == true || rdOeste.IsChecked == true) 
      { 
       foreach (var pessoa in db.Pessoas) 
       { 
        if (pessoa.Email == email) 
        { 
         pessoa.Coletores.Add(coletor); 
        } 
       } 

       db.Coletores.InsertOnSubmit(coletor); 
       db.SubmitChanges(); 

       NavigationService.Navigate(new Uri("/ColetoresPage.xaml", UriKind.RelativeOrAbsolute)); 
      } 
      else 
      { 
       MessageBox.Show("Preencha todos os campos e marque as opções para adicionar um coletor"); 
      } 
     } 

     private void btnCancel_Click_1(object sender, RoutedEventArgs e) 
     { 
      NavigationService.Navigate(new Uri("/ColetoresPage.xaml", UriKind.RelativeOrAbsolute)); 
     } 

    } 
} 

的Coletor類:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Data.Linq.Mapping; 
using System.Data.Linq; 
using Microsoft.Phone.Data.Linq; 
using Microsoft.Phone.Data.Linq.Mapping; 

namespace Aplicativo_Windows_Phone 
{ 
#pragma warning disable 0169, 0649 
    [Table(Name = "Coletores")] 
    public class Coletor 
    { 
     [Column(IsPrimaryKey = true, IsDbGenerated = true)] 
     public int Id { get; set; } 

     [Column] 
     public float Latitude { get; set; } 

     [Column] 
     public float Longitude { get; set; } 

     [Column(Name = "Pessoa")] 
     private int? pessoaId; 

     private EntityRef<Pessoa> _pessoa = new EntityRef<Pessoa>(); 

     [Association(Name = "FK_Coletores_ColetorPessoa", IsForeignKey = true, Storage = "_pessoa", ThisKey = "pessoaId")] 
     public Pessoa Pessoa 
     { 
      get { return _pessoa.Entity; } 
      set { _pessoa.Entity = value; } 
     } 

     private EntitySet<Ocorrencia> _ocorrencias = new EntitySet<Ocorrencia>(); 

     [Association(Name = "FK_Ocorrencias_ColetorOcorrencias", Storage = "_ocorrencias", ThisKey = "Id", OtherKey = "coletorId")] 
     public ICollection<Ocorrencia> Ocorrencias 
     { 
      get { return (from co in ColetorOcorrencias select co.Ocorrencia).ToList(); } 
      set { _ocorrencias.Assign(value); } 
     } 

     private EntitySet<PessoaColetor> _pessoaColetores = new EntitySet<PessoaColetor>(); 

     [Association(Name = "FK_PessoaColetores_Coletores", Storage = "_pessoaColetores", OtherKey = "coletorId", ThisKey = "Id")] 
     private ICollection<PessoaColetor> PessoaColetores 
     { 
      get { return _pessoaColetores; } 
      set { _pessoaColetores.Assign(value); } 
     } 

     private EntitySet<ColetorOcorrencia> _coletorOcorrencias = new EntitySet<ColetorOcorrencia>(); 

     [Association(Name = "FK_ColetorOcorrencias_Coletores", Storage = "_coletorOcorrencias", OtherKey = "coletorId", ThisKey = "Id")] 
     private ICollection<ColetorOcorrencia> ColetorOcorrencias 
     { 
      get { return _coletorOcorrencias; } 
      set { _coletorOcorrencias.Assign(value); } 
     } 

     public ICollection<Pessoa> Pessoas 
     { 
      get { return (from pc in PessoaColetores select pc.Pessoa).ToList(); } 
     } 
    } 
} 
+2

通常,例外情況也包括消息。是否有任何其他信息與錯誤一起提供? – 2015-02-07 00:04:44

+1

沒有消息和/或內部異常,任何人都很難幫助你。 – 2015-02-07 00:17:16

+0

其實沒有其他信息。我可以顯示問題的圖像,但我不知道如何在此處添加圖像。 – 2015-02-07 00:41:36

回答

0

好吧,我不知道爲什麼,但現在我的應用程序正在工作。我認爲這個錯誤是Visual Studio中的一種錯誤,因此,爲了解決我的問題,我重新啓動了我的電腦。

+0

難道你不打電話給技術支持?你有沒有嘗試重新啓動你的電腦? – THBBFT 2015-02-17 14:40:42

0

要去上肢體這裏根據以往的經驗。 SqlServerCE驅動程序有兩種風格,x86和x64。通常,只有一個可以安裝在機器上,安裝程序會在第二個上失敗。但是,如果首先安裝x86驅動程序然後安裝x64,則可以在命令行上使用/ force開關。

這可能會幫助你的問題,或者它可能很難從所提供的細節中分辨出來。

+0

這是Windows Phone,運行ARM操作系統,沒有任何可安裝的驅動程序。 – 2015-02-07 03:04:01

+0

所以它沒有讀取代碼。 – THBBFT 2015-02-07 03:06:11

相關問題