2016-07-27 36 views
1

我編程的應用程序目前,我想一個新的項目添加到本地數據庫SQLLite:Azure離線同步。無法添加項目「查詢執行失敗,結果:'MISMATCH'」。

 public async Task SaveTaskAsync(Fault item) 
    { 
     try 
     { 
      if (item.Id == null) 
      { 
       await FaultTable.InsertAsync(item); 
      } 
      else 
      { 
       await FaultTable.UpdateAsync(item); 
      } 
     } 
     catch (Exception ex) 
     { 

     } 
    } 

但聲明await FaultTable.InsertAsync(item);與以下錯誤結束了:

「Microsoft.WindowsAzure.MobileServices。 Sync.MobileServiceLocalStoreException:無法在本地存儲上執行操作。「

內部例外: 「SQLitePCL.SQLiteException查詢執行失敗,結果:'MISMATCH'。」

堆棧跟蹤內部異常的:

at Microsoft.WindowsAzure.MobileServices.SQLiteStore.MobileServiceSQLiteStore.ValidateResult (SQLiteResult result) [0x00023] in <filename unknown>:0 
    at Microsoft.WindowsAzure.MobileServices.SQLiteStore.MobileServiceSQLiteStore.ExecuteNonQuery (System.String sql, IDictionary`2 parameters) [0x00057] in <filename unknown>:0 
    at Microsoft.WindowsAzure.MobileServices.SQLiteStore.MobileServiceSQLiteStore.BatchInsert (System.String tableName, IEnumerable`1 items, System.Collections.Generic.List`1 columns) [0x000f5] in <filename unknown>:0 
    at Microsoft.WindowsAzure.MobileServices.SQLiteStore.MobileServiceSQLiteStore+<>c__DisplayClass10_0.<UpsertAsyncInternal>b__0 (System.Threading.Tasks.Task t) [0x00058] in <filename unknown>:0 
    at System.Threading.Tasks.ContinuationTaskFromTask.InnerInvoke() [0x00027] in /Users/builder/data/lanes/2923/52635947/source/mono/external/referencesource/mscorlib/system/threading/Tasks/TaskContinuation.cs:63 
    at System.Threading.Tasks.Task.Execute() [0x00016] in /Users/builder/data/lanes/2923/52635947/source/mono/external/referencesource/mscorlib/system/threading/Tasks/Task.cs:2502 

回答

2

不匹配則表明SQL語句(即從模型生成的)正試圖插入不存儲在數據庫中的表的模式相匹配的數據。你最近改變了模型嗎?如果是這樣,您將需要修復數據庫。您可以在封面(通過使用SQLite編輯器)或 中刪除數據庫然後重新同步數據。

相關問題