首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储读取查询的.NET OleDBDataReader

存储读取查询的.NET OleDBDataReader
EN

Stack Overflow用户
提问于 2013-06-28 00:46:39
回答 1查看 188关注 0票数 1

我正在寻找存储OleDBDataReader的读取的最佳实践。从本质上讲,我希望它保留与reader"Column“相同的字典。我正在编写一个API,它返回由“行”组成的数据结构。我觉得一定有比创建字典的ArrayList更好的解决方案,但我似乎找不到一个“最佳实践”。

下面的代码取自我当前的项目

代码语言:javascript
复制
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”)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-28 01:13:15

读取器是“管道”,而不是“桶”-读取器API不适用于断开连接的数据。因此,这取决于您是否知道数据的模式。

如果您确实知道编译时的模式,那么填充一个类型化的类模型--只需一个List<Foo>就可以了。有一些工具可以让这件事变得更简单,比如为你处理成员数量,等等;“衣冠楚楚”跃入脑海(尽管我有偏见)。

如果您事先不知道模式,那么DataTable可能是合适的。我通常不推荐它,但它在这里可以做到这一点。只要:

代码语言:javascript
复制
table.Load(reader);

足以填充包含模式(列)和值(行/单元格)的DataTable

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17348820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档