DbDataReader类型(实现IDataReader接口)是从数据源获取信息最简单也最快速的方法。

数据读取器是只读向前的效据流.井且一次返回一条记录。因此.只有当你向数据源提交 Select 查询语句的时候,数据读取器才有用。当你需要快速获取大批数据并且不需要在内存中存储它们的时候,数据读取器就非常有用了。比如.你想从表中取出2000条记录保存到文本文件.先用Dataset保存这些数据到内存中就非常不值得了(因为 Dataset同时在内存中保存整个结果)。

一个更好的方式是用数据读取器快速遍历每条记录。需要知道的是.数据读取器对象(不像数据适配器对象.后面会讨论它)会保持打开的连接.除非显式地关闭会话。

通过执行命令对象的 ExecuteReader()方法来获得数据读取器对象。数据读取器(DataReader)表示从数据库中读取的当前记录。它包含一个索引器方法 (如 C#中的[]语法),可以通过名称或从 0 开始的整数来访问当前记录中的列。

使用数据读取时获取单个结果集

            using (SqlConnection cn = new SqlConnection())
{
cn.ConnectionString = @"Data Source=CLPDXX0076\SQLEXPRESS;" + "Integrated Security=SSPI;Initial Catalog=CarSYS";
cn.Open();
string sql = "select * from Person";
SqlCommand cmd = new SqlCommand(sql, cn);
using (SqlDataReader sr = cmd.ExecuteReader())
{
while (sr.Read())
{
//Console.WriteLine("ID:{0},Name:{1},Age:{2}", sr["ID"],sr["Name"],sr["Age"]); for (int i = ; i < sr.FieldCount; i++)
{
Console.WriteLine("{0}={1}", sr.GetName(i), sr.GetValue(i).ToString());
}
}
}
}

 使用数据读取时获取多个结果集

            using (SqlConnection cn = new SqlConnection())
{
cn.ConnectionString = @"Data Source=服务器名;" + "Integrated Security=SSPI;Initial Catalog=数据库名";
cn.Open();
string sql = "select * from Person;select * from Product";
SqlCommand cmd = new SqlCommand(sql, cn);
using (SqlDataReader sr = cmd.ExecuteReader())
{
do
{
while (sr.Read())
{
for (int i = ; i < sr.FieldCount; i++)
{
Console.WriteLine("{0}={1}", sr.GetName(i), sr.GetValue(i).ToString());
}
Console.WriteLine();
} } while (sr.NextResult());
}
}

如何在ADO中使用数据读取器(DataReader)读取数据的更多相关文章

  1. ADO.Net读取器获取数据库数据

    string str = Configuration.ConfigurationManager.AppSettings[str].ToString(); string sql = "sele ...

  2. 如何在Elasticsearch中安装中文分词器(IK+pinyin)

    如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题--中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照term来分组,结果一个汉字被分成了一组. ...

  3. 如何在Elasticsearch中安装中文分词器(IK)和拼音分词器?

    声明:我使用的Elasticsearch的版本是5.4.0,安装分词器前请先安装maven 一:安装maven https://github.com/apache/maven 说明: 安装maven需 ...

  4. 前端技术之:如何在Vue中使用clipboard.js复制服务端数据

    第一步 创建点击对象页面元素,并绑定业务数据. <el-button type="text" size="mini" class="copy-b ...

  5. 如何在elasticsearch中查看Logstash打到elasticsearch的数据

    # cat syslog02.conf #filename:syslog02.conf #注意这个是要用#号注释掉 input{ file{ path => ["/var/log/*. ...

  6. 简述在ADO中使用接口的抽象数据提供程序以及ADO.NET数据提供程序工厂模型

    如何在ADO中使用接口的抽象数据提供程序 在cofig中 appSettings下,配置数据连接类型 <appSettings> <!--这个键值映射到枚举值中的某个值--> ...

  7. C#与数据库访问技术总结(十一)之数据阅读器(DataReader)1

    数据阅读器 当执行返回结果集的命令时,需要一个方法从结果集中提取数据. 处理结果集的方法有两个: 第一,使用数据阅读器(DataReader): 第二,同时使用数据适配器(Data Adapter)和 ...

  8. (第二章第四部分)TensorFlow框架之TFRecords数据的存储与读取

    系列博客链接: (第二章第一部分)TensorFlow框架之文件读取流程:https://www.cnblogs.com/kongweisi/p/11050302.html (第二章第二部分)Tens ...

  9. 028 Partitioner:数据分区器

    Partitioner:数据分区器,决定数据到下一个RDD的时候在那一个分区 HashPartitioner:根据key的hashCode值来实现 RangePartitioner: 根据key所属范 ...

随机推荐

  1. JAVA基础第五章-集合框架Map篇

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

  2. 基于Token认证的多点登录和WebApi保护

    在文章中有错误的地方,或是有建议或意见的地方,请大家多多指正,邮箱: linjie.rd@gmail.com 一天张三,李四,王五,赵六去动物园,张三没买票,李四制作了个假票,王五买了票,赵六要直接F ...

  3. 系统的讲解 - PHP 浮点数高精度运算

    目录 概述 浮点数运算的"锅" 任意精度数学函数 常用数值处理方案 扩展 小结 概述 记录下,工作中遇到的坑 ... 关于 PHP 浮点数运算,特别是金融行业.电子商务订单管理.数 ...

  4. Mybaits-plus实战(三)

    1. Mybaits-plus实战(三) 1.1. 特殊使用规则 1.1.1. Model逻辑删除 数据库对应实体类,继承Model类可以实现AR模式的sql语句操作,但这里需要注意的是,对逻辑删除, ...

  5. ASP.NET Core中使用GraphQL - 最终章 Data Loader

    ASP.NET Core中使用GraphQL - 目录 ASP.NET Core中使用GraphQL - 第一章 Hello World ASP.NET Core中使用GraphQL - 第二章 中间 ...

  6. 用Docker解决坑爹的环境搭建系列——ubuntu16.04 SSH

    sudo docker run --name java -d -p 19992:22 -p 9992:8080 hub.c.163.com/public/ubuntu:16.04-tools # 可以 ...

  7. clang如何获得程序控制流图

    在低版本的clag中,可以直接clang -cc1 -analyze -cfg-dump 1.c来获得程序控制流图,但较高版本后就不行了 另外clang -cc1默认仅限当前目录,所以会出现fata ...

  8. mysql 多实例部署

    Centos7.6 部署3个Mariadb 实例 [root@localhost ~]# yum install mariadb-server -y # 创建对应的目录文件 [root@localho ...

  9. JS,JQ 格式化小数位数

    在<script>中: $(function(){ var num=$(".price").length;/*获取应用了class="price"的 ...

  10. emacs 高亮

    用途:让某个单词高亮显示 1,安装 m-x 回车,输入list-packages 在列表中找到highlight-symbol后,鼠标点击它,再点击安装 2,在.emacs中配置 ;;高亮 (requ ...