使用SqlDataReader的查询操作
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的查询操作的更多相关文章
- OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)
公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...
- [C#] 进阶 - LINQ 标准查询操作概述
LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> ...
- MongoDB的查询操作
1. 前言 在这篇博文中,我们将学习如何查询mongoDB中的数据.当我们把数据存储在mongoDB以后,我们需要把数据查询出来.毕竟CRUD操作中,查询操作在我们系统中是我们应用比较频繁的操作.我们 ...
- Django 1.10 中文文档------3.2.2 查询操作making queries
3.2.2 查询操作 6.15章节包含所有模型相关的API解释. 后面的内容基于如下的一个博客应用模型: from django.db import models class Blog(models. ...
- InfluxDB学习之InfluxDB的HTTP API查询操作
在 InfluxDB学习 的上一篇文章:InfluxDB学习之InfluxDB的HTTP API写入操作 中,我们介绍了使用InfluxDB的HTTP API进行数据写入操作的过程,本文我们再来介绍下 ...
- mongDB-- 3. 查询操作
1. 准备工作 (1)启动mongo 进入mongo安装目录的bin/ 目录 , ./mongod (2)启动mongo客户端 ./mongo (3) 查看所有库 show dbs; (4) 切换到l ...
- .NET LINQ基本查询操作
获取数据源 在 LINQ 查询中,第一步是指定数据源.像在大多数编程语言中一样,在 C# 中,必须先声明变量,才能使用它.在 LINQ 查询中,最先使用 from 子句的目的是引入数据源 ( ...
- MongoDB各种查询操作详解
这篇文章主要介绍了MongoDB各种查询操作详解,包括比较查询.关联查询.数组查询等,需要的朋友可以参考下 一.find操作 MongoDB中使用find来进行查询,通过指定find的第一个参数可 ...
- MongoDB查询操作限制返回字段的方法
这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下 映射(projection )声明用来限制所有查询匹配文档的返回字段.projection以文档的形式列举结果集中 ...
随机推荐
- ECMAScript基本语法——⑤运算符 三元运算符
?: 简化ifelse的操作
- archlinux install.txt
++++++ 注意事项+++ +++++++++++++++++++++++++++ 强烈建议新手移步 Arch Wiki > 新手指南 经验者请参阅 Arch Wiki > 安装指南 若 ...
- The Softmax function and its derivative
https://eli.thegreenplace.net/2016/the-softmax-function-and-its-derivative/ Eli Bendersky's website ...
- LaTeX技巧008:如何给文字添加阴影效果?
大家可以使用这个包:shadowtext宏包
- [ZJOI2007] 仓库建设 - 斜率优化dp
大脑真是个很优秀的器官,做事情之前总会想着这太难,真的逼着自己做下去,回头看看,其实也不过如此 很朴素的斜率优化dp了 首先要读懂题目(我的理解能力好BUG啊) 然后设\(dp[i]\)表示处理完前\ ...
- linux - 查看是否安装 apache 以及 apache 版本
命令 apachectl -v httpd -v 备注:这两个命令的作用一样 结果
- AntDesign(React)学习-5 路由及使用Layout布局
前言:学习目标实现点击登录按钮,直接进入后台布局页面,类似下面antd官网文档展示效果 ant.design访问 https://ant-design.gitee.io/components/menu ...
- Data Manipulation with dplyr in R
目录 select The filter and arrange verbs arrange filter Filtering and arranging Mutate The count verb ...
- NVMe over Fabrics 概况
NVMe over Fabrics 技术特征 跨网络传输NVMe命令需要特殊的考虑,而不仅仅是针对本地存储内存.例如,为了远距离传输NVMe协议,理想的底层网络或fabric技术将具有以下特性: 可靠 ...
- eclipse的一些使用
1.恢复默认视图 window->perspective->open perspective ->open java 2.打开其他的一些视图,比如server(tomcat,目前使用 ...