1
Im在插入此sqlite數據庫時遇到了很多麻煩。第一個代碼的第一個是我第一次插入的項目,第二個代碼是我想要插入的項目。我第一次插入一切都很好,我可以檢索行很好,但第二次,我嘗試插入新的項目到數據庫它沒有更新,而是一個sqliteexception拋出消息約束。Sqlite3異步插入和更新
第1次
GroceriesItemHistory.AddToGroceriesHistory ("Banana");
GroceriesItemHistory.AddToGroceriesHistory ("Apple");
GroceriesItemHistory.AddToGroceriesHistory ("Citrus");
第二次
GroceriesItemHistory.AddToGroceriesHistory ("Banana");
GroceriesItemHistory.AddToGroceriesHistory ("Apple");
GroceriesItemHistory.AddToGroceriesHistory ("Citrus");
GroceriesItemHistory.AddToGroceriesHistory ("Plant");
這裏可以看到,調用數據庫來保存項目
saveHistory.Click += delegate
{
Task<string> result = localDB.SaveGroceriesItemHistory();
Toast.MakeText(this, result.Result, ToastLength.Short).Show();
};
下面的代碼是實際的代碼插入商品
public async Task<string> SaveGroceriesItemHistory()
{
try
{
var dbConn = new SQLiteAsyncConnection(dbPath);
foreach (var historyItem in GroceriesItemHistory.GroceriesHistory)
{
HistoryItem item = new HistoryItem();
item.HistoryItemName = historyItem.Key;
item.NumberOfAddidtions = historyItem.Value;
if(await dbConn.InsertAsync(item) != 0)
await dbConn.UpdateAsync(item);
}
return "GroceriesItemHistory saved!";
}
catch (SQLiteException ex)
{
return ex.Message;
}
}