.NET OleDBDataReader存储读取查询
本文关键字:查询 读取 存储 OleDBDataReader NET | 更新日期: 2023-09-27 18:20:06
我正在寻找存储OleDBDataReader读取的最佳实践。从本质上讲,我希望它能保留像字典一样的阅读器["Column"]。我正在编写一个返回由"行"组成的数据结构的API。我觉得肯定有比创建字典的ArrayList更好的解决方案,但我似乎找不到这方面的"最佳实践"。
下面的代码取自我当前的项目
using (var commandToQueryDB = new OleDbCommand(query))
{
commandToQueryDB.Connection = Connection;
Connection.Open();
var reader = commandToQueryDB.ExecuteReader();
while (reader.Read())
{
//Insert reader's read in some sort of data structure
}
}
我希望能够迭代查询,然后将每个查询作为字典访问(例如,如果我有一个以DistrictName为列的表,则查询["DistrictName"])
读卡器是"管道",而不是"桶"-读卡器API不适合断开连接的数据。为此,这取决于您是否知道数据的模式。
如果您在编译时确实知道模式,那么填充一个类型化的类模型——只需List<Foo>
就可以了。有一些工具可以让这变得更简单,为您处理成员群体,等等;"衣冠楚楚"跃然纸上(尽管我有偏见)。
如果您事先不知道模式,那么DataTable
可能是合适的。我通常不推荐它,但它在这里很管用。只是:
table.Load(reader);
足以填充包括模式(列)和值(行/单元格)的CCD_ 3。