C# .NET - C#操作数据库 - C#与SQLite
SqliteDataReader转成DataTable的方法
可以使用DataTable的Load方法,很方便的把SqliteDataReader转成DataTable。

代码如下:

//以下h_htDbConnection是一个SQLiteConnection ,query是一个sql查询语句

DataTable m_result = new DataTable();
using (SQLiteCommand cmd = new SQLiteCommand(query, h_htDbConnection))
{
using (SQLiteDataReader rdr = cmd.ExecuteReader())
{
m_result.Load(rdr);//这样就SQLiteDataReader 装进 DataTable中
}
}
需要引用命名空间:
using System.Data.SQLite;

以上代码在.NET Framework 4.6 中测试通过。

DataTable类表示内存中数据的一个表,所在命名空间:
System.Data

DataTable的Load方法有以下三种形式:
Load(IDataReader)
通过所提供的 IDataReader,用某个数据源的值填充 DataTable。 如果 DataTable 已经包含行,则从数据源传入的数据与现有行合并。

Load(IDataReader, LoadOption)
通过所提供的 IDataReader,用某个数据源的值填充 DataTable。 如果 DataTable 已包含行,则从数据源传入的数据根据 loadOption 参数的值与现有行合并。

Load(IDataReader, LoadOption, FillErrorEventHandler)
通过所提供的使用错误处理委托的 IDataReader,用某个数据源中的值填充 DataTable。

另外请看SQLiteDataReader声明的代码:
public class SQLiteDataReader : Devart.Common.DbDataReaderBase, IEnumerable, IDataReader, IDataRecord, IDisposable  
可以看到其实现了接口IDataReader
收藏 列表

评论: