public static void SetStatus(Status statusObject,int retryCount)
{
if (statusObject != null)
{
using (SqliteConnection dbConn = new SqliteConnection(dbURL))
{
IDbTransaction dbTransaction = null;
try
{
dbConn.Open();
dbTransaction = dbConn.BeginTransaction();
new SqliteCommand(some_query, dbConn).ExecuteNonQuery();
}
catch (Exception e)
{
dbTransaction.Rollback();
dbConn.Close();
if (retryCount > 0)
{
SetStatus(statusObject, --retryCount);
return;
}
else
throw e;
}
finally
{
try { dbTransaction.Commit(); }
catch (Exception e)
{
}
}
}
}
}
當的ExecuteNonQuery由於一些例外,我都將在運行again.In這種情況下,相同的查詢重試機制失敗,因爲第二次(而重試)以下異常comes-連接必須是有效和開放爲sqllite數據庫提交事務的同時重新嘗試執行失敗的查詢
「連接必須是有效的,開放的,以提交事務」
提交後,最後關閉你的數據庫連接。 –