本文整理汇总了C#中SQLitePCL.sqlite3.Dispose方法的典型用法代码示例。如果您正苦于以下问题:C# sqlite3.Dispose方法的具体用法?C# sqlite3.Dispose怎么用?C# sqlite3.Dispose使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SQLitePCL.sqlite3
的用法示例。
在下文中一共展示了sqlite3.Dispose方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Close
static void Close(ref sqlite3 db)
{
if (db == null)
{
return;
}
try
{
// Close any open statements, otherwise the
// sqlite connection won't actually close.
sqlite3_stmt next = null;
while ((next = db.next_stmt(next))!= null)
{
next.Dispose();
}
db.close();
Log.W(Tag, "db connection {0} closed", db);
}
catch (KeyNotFoundException ex)
{
// Appears to be a bug in sqlite3.find_stmt. Concurrency issue in static dictionary?
// Assuming we're done.
Log.W(Tag, "Abandoning database close.", ex);
}
catch (ugly.sqlite3_exception ex)
{
Log.E(Tag, "Retrying database close.", ex);
// Assuming a basic retry fixes this.
Thread.Sleep(5000);
db.close();
}
GC.Collect();
GC.WaitForPendingFinalizers();
try
{
db.Dispose();
}
catch (Exception ex)
{
Log.E(Tag, "Error while closing database.", ex);
}
finally
{
db = null;
}
}