原创weixin_42430576 发布于2019-01-31 18:49:41 阅读数 762  收藏
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace SqlReader读取数据
{
class Program
{
static void Main(string[] args)
{
string constr = "Server=localhost;Database=test;user=root;password=liuyang";
using(SqlConnection conn = new SqlConnection(constr))
{ string sql = "select * from Table_1";
using (SqlCommand command = new SqlCommand(sql, conn))
{
conn.Open();
using (SqlDataReader reader = command.ExecuteReader()) {
//默认情况下reader会独自占用一个链接对象。在reader使用时这个conn不能给别的对象使用
if (reader.HasRows)//先判断是否有数据
{
while (reader.Read())//reader一开始是指向第一条数据的前一条,这个表示移动到下一条
{
//reader在运行时必须保证链接是打开的状态
for (int i = 0; i < reader.FieldCount; i++)//reader.FieldCount表示这一行数据有几列
{
//索引可以通过列命来获取值
// Console.Write(reader[i] + " ");
//通过列名来取值
//Console.WriteLine(reader["name"]+" "); /**
* 从本质上讲GetValue和reader[]索引器没有区别,reader[]就是通过调用getvalue方法实现的
*只不过使用列名索引时在getvalue中还调用了一个方法
*reader.GetOrdinal("name");这个方法是通过给定的列名查询列的索引
* */ //reader获取数据时遇到null值会转化为空字符串
//getValue只能通过索引来获取值
//Console.Write(reader.GetValue(i) + " "); //使用getvalue或者使用索引器获取的是一个object类型的数据使用起来不方便
//使用reader.getXxxxx()方法获取强类型,使用方便。
if (i == 0) {
Console.WriteLine(reader.GetInt32(i));
}
if (i == 1)
{
Console.WriteLine(reader.GetString(i));
}
}
Console.WriteLine();
} }
} } }
Console.ReadKey();
}
}
}

使用SqlDataReader的查询操作的更多相关文章

  1. OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)

    公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...

  2. [C#] 进阶 - LINQ 标准查询操作概述

    LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> ...

  3. MongoDB的查询操作

    1. 前言 在这篇博文中,我们将学习如何查询mongoDB中的数据.当我们把数据存储在mongoDB以后,我们需要把数据查询出来.毕竟CRUD操作中,查询操作在我们系统中是我们应用比较频繁的操作.我们 ...

  4. Django 1.10 中文文档------3.2.2 查询操作making queries

    3.2.2 查询操作 6.15章节包含所有模型相关的API解释. 后面的内容基于如下的一个博客应用模型: from django.db import models class Blog(models. ...

  5. InfluxDB学习之InfluxDB的HTTP API查询操作

    在 InfluxDB学习 的上一篇文章:InfluxDB学习之InfluxDB的HTTP API写入操作 中,我们介绍了使用InfluxDB的HTTP API进行数据写入操作的过程,本文我们再来介绍下 ...

  6. mongDB-- 3. 查询操作

    1. 准备工作 (1)启动mongo 进入mongo安装目录的bin/ 目录 , ./mongod (2)启动mongo客户端 ./mongo (3) 查看所有库 show dbs; (4) 切换到l ...

  7. .NET LINQ基本查询操作

    获取数据源      在 LINQ 查询中,第一步是指定数据源.像在大多数编程语言中一样,在 C# 中,必须先声明变量,才能使用它.在 LINQ 查询中,最先使用 from 子句的目的是引入数据源 ( ...

  8. MongoDB各种查询操作详解

    这篇文章主要介绍了MongoDB各种查询操作详解,包括比较查询.关联查询.数组查询等,需要的朋友可以参考下   一.find操作 MongoDB中使用find来进行查询,通过指定find的第一个参数可 ...

  9. MongoDB查询操作限制返回字段的方法

    这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下   映射(projection )声明用来限制所有查询匹配文档的返回字段.projection以文档的形式列举结果集中 ...

随机推荐

  1. mysql 视图 触发器 存储过程 函数事务 索引

    mysql 视图 触发器 存储过程 函数事务 索引 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当 ...

  2. 2020牛客寒假算法基础集训营1 I-nico和niconiconi

    #include <bits/stdc++.h> #define dbg(x) cout << #x << "=" << x < ...

  3. sqli-labs less-1 --> less-4

    Less-1  (报错注入) 因为第一次做这些题,不太了解,所以$sql下加上echo "$sql<br>";能更明显的看出具体的输入 1.判断是否存在注入点 当输入? ...

  4. DOM操作节点对象集合

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  5. Android 本地化

    语言配置修饰符来自于ISO639-1标准代码.中文修饰符是-zh. 在res文件夹下创建raw-zh和values-zh文件夹.对应语言的资源文件放入期内. 当Android系统设置的语言为中文时,程 ...

  6. MAC MAMP集成环境安装 PHP 扩展

    MAC MAMP集成环境安装 PHP扩展 开发环境中,对于需要维护很多 WEB 站点,以及可能会使用到很多不同的 PHP 版本,集成环境比较好用,在MAC 上 MAMP 集成环境是比较好用的,但是在安 ...

  7. Windows恢复环境启动失败,重新配置WinRE

    前言 现在很多朋友追求系统镜像体积缩小,往往删除了系统镜像中C:\Windows\System32\Recovery\winre.wim这个文件,大小将近500MB,删除这个文件不会给系统造成其他影响 ...

  8. SQL语法(UNION,JOIN)

    SQL语法 union, union all UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 注意,UNION 内部的每个SELECT语句必须拥有相同数量的列.列也必须拥有相似的数 ...

  9. [P4550] 收集邮票 - 概率期望,dp

    套路性地倒过来考虑,设\(f[i]\)表示拥有了\(i\)种票子时还需要多少次购买,\(g[i]\)表示还需要多少钱 推\(g[i]\)递推式时注意把代价倒过来(反正总数一定,从顺序第\(1\)张开始 ...

  10. 剑指offer 面试题43. 1~n整数中1出现的次数

    leetcode上也见过一样的题,当时不会做 看了一下解法是纯数学解法就没看,结果剑指offer上也出现了这道题,那还是认真看下吧 对于数字abcde,如果第一位是1,比如12345,即计算f(123 ...