From df22a331323773d2db0eaec448037909a6837f23 Mon Sep 17 00:00:00 2001 From: Olink Date: Mon, 25 May 2020 03:07:54 -0400 Subject: [PATCH] Add some try/catch blocks around the sql commands. --- TShockAPI/DB/ResearchDatastore.cs | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/TShockAPI/DB/ResearchDatastore.cs b/TShockAPI/DB/ResearchDatastore.cs index d4fa2197..b861aedd 100644 --- a/TShockAPI/DB/ResearchDatastore.cs +++ b/TShockAPI/DB/ResearchDatastore.cs @@ -84,16 +84,21 @@ namespace TShockAPI.DB where WorldId = @0 group by itemId"; - using (var reader = database.QueryReader(sql, Main.worldID)) - { - while (reader.Read()) + try { + using (var reader = database.QueryReader(sql, Main.worldID)) { - var itemId = reader.Get("itemId"); - var amount = reader.Get("totalSacrificed"); - sacrificedItems[itemId] = amount; + while (reader.Read()) + { + var itemId = reader.Get("itemId"); + var amount = reader.Get("totalSacrificed"); + sacrificedItems[itemId] = amount; + } } } - + catch (Exception ex) + { + TShock.Log.Error(ex.ToString()); + } return sacrificedItems; } @@ -111,7 +116,17 @@ namespace TShockAPI.DB itemsSacrificed[itemId] = 0; var sql = @"insert into Research (WorldId, PlayerId, ItemId, AmountSacrificed, TimeSacrificed) values (@0, @1, @2, @3, @4)"; - var result = database.Query(sql, Main.worldID, player.Account.ID, itemId, amount, DateTime.Now); + + var result = 0; + try + { + result = database.Query(sql, Main.worldID, player.Account.ID, itemId, amount, DateTime.Now); + } + catch (Exception ex) + { + TShock.Log.Error(ex.ToString()); + } + if (result == 1) { itemsSacrificed[itemId] += amount;