2015-02-07 114 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

相关问题