我是否必须处理SQLiteCommand对象?

Ody*_*dys 5 c# sqlite system.data.sqlite .net-3.5

如何看待SQLiteCommand对象,我打电话Dispose()ExecuteScalar,ExecuteNonQueryExecuteReader不?

SQLiteCommand上的文档示例不处理它,而在SQLiteTransaction中,该示例处理SQLiteCommand对象.

我总是关闭数据读取器对象.我的应用程序从许多线程访问数据库.

大多数情况下,我感兴趣的是不要泄漏连接或干扰SQLite.我知道usingIDisposable使用

Tim*_*ter 9

最好的做法IDisposable是在完成后立即处理所有实现的内容,因为它可能会使用非托管资源.

这应该使用using-statement来完成,因为它包装了使用这个对象的代码,并且因为它也在异常的情况下处理它.

using(var con = new SQLiteConnection(conString))
using(var cmd = new SQLiteCommand(con))
{
    con.Open();
    // ...
} // also closes the connection
Run Code Online (Sandbox Code Playgroud)