MSSQL - SqlDataReader
DataReader对象:
·DataReader对象是一个读取行的只读流的方式,绑定数据时比使用数据集方式性能要高,因为他是只读的,所以如果要对数据库中的数据进行修改就需要借助 将所做的修改保存到数据库。
·DataReader对象不能直接实例化,必须借助与其相关的Command对象来创建实例,例如用SQLCommand的实例的ExecuteReader()方法可以创建sqlDataReader实例。
·因为DataReader对象读取数据时需要与数据库保持连接,所以在使用完DataReader对象度去玩数据之后应该立即调用它的Close()方法关闭,并且还应该与之相关的Connection对象。
DataReader读取数据:
·一种是按照查询的时候列的索引用指定的方式和数据格式来读取列值,无需相应的转换,缺点是如果数据不能转换成相应的格式就会抛出异常。
sqlDataReader reader; //实例化一个sqlDataReader对象。
reader.GetInt(0); //因为第一列的数据的类型是Int所以使用GetInt().
reader.GetString(1); //因为第二列的数据的类型是String所以适应GetString().
·第二种方式就是按照索引的方式读取,在读取的时候并不进行值转换,这样得到的值是一个object类型的值,还需要根据数据库里面的字段进行相应的转换。
sqlDataReader reader; //实例化一个sqlDataReader对象。
reader[0]; //读取第一列,读出的数据类型是object类型。
reader[1]; //读取第二列,读出的数据类型是object类型。
·最后一种是按照列名的方式去读,并且在读的时候也不进行相应的转换,的到达额是object类型的值,灵活性强。
sqlDataReader reader; //实例化一个sqlDataReader对象。
reader["UserId"]; //读取列名为“UserId"一列的数据。
::就灵活性来说,第三种最灵活,第二种次之,第一种不灵活;就性能来说第一种最高,第二种稍次,第三中最低。
零碎知识点:
SQLDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
** 使用CommandBehavior.CloseConnection的作用是,当关闭reader的时候,会直接关闭数据连接。
MSSQL - SqlDataReader的更多相关文章
- C# / MSSQL / WinForm / ASP.NET - SQLHelper中返回SqlDataReader数据
/// <summary> /// Execute a SqlCommand that returns a resultset against the database specified ...
- ADO.NET基础01(ADO.NET组成,数据库的方式,SqlCommand,SqlDataReader)
什么是ADO.NET: ADO.NET就是一组类库,这组类库可以让我们通过程序的方式访问数据库,就像System.IO下的类操作文件一样, System.Data.这组类是用来操作数据库(不光是MSS ...
- MSSQL ADO.NET
为什么要学ADO.NET 之前我们所学的只能在查询分析器里查看数据,操作数据,我们让普通用户去学sql,所以我们搭建了一个界面(Web/Winform) 让用户方面的操作数据库中的数据 什么是ADO. ...
- [干货来袭]MSSQL Server on Linux预览版安装教程(先帮大家踩坑)
前言 昨天晚上微软爸爸开了全国开发者大会,会上的内容,我就不多说了,园子里面很多.. 我们唐总裁在今年曾今透漏过SQL Server love Linux,果不其然,这次开发者大会上就推出了MSSQL ...
- 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节
1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...
- MSSQL远程连接
背景:部署公司自己研发的ERP系统. 1)系统架构: .NET+MSSQL. 2)服务器系统:Windows Server 2008 R2 Enterprise 3)数据库:MSSQL Server ...
- 学习笔记 MSSQL显错手工注入
和朋友一起学习,速度就是快.感谢珍惜少年时. 网上很多都在长篇大论MSSQL显错手工注入,其实原理只有一小段.如下: ' and (查询一段内容)=1 and 'C'='Cnvarchar类型(查询一 ...
- MSSQL部分补丁的列表及下载地址(持续更新)
整理了MSSQL部分补丁的列表及下载地址(截至2016-11-18),供参考下. Edition Version Date Published Download Link SQL Server 201 ...
- SqlDataReader和SqlDataAdapter
SqlDataReader 高效,功能弱,只读访问SqlDataAdapter 强大,要求资源也大一点 SqlDataReader 只能在保持跟数据库连接的状态下才可以读取... SqlDataAda ...
随机推荐
- Introduction to Guid ( globally unique identifier )
什么是 GUID? 全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装. 在许多流行软件应用程序(例如 Web 浏览器和媒体播放器)中,都使用 GUID. GUID 的格式为 ...
- ELK架构浅析
转自:http://blog.csdn.net/lively1982/article/details/50678657 ELK是Elasticsearch.Logstash.Kibana的简称,这三者 ...
- 高级UNIX环境编程7 进程
每个程序都会收到一张环境表 extern char **environ; c程序的存储空间布局: 正文段:共享,只读 初始化数据段:存函数以外的赋值 非初始化数据段(bbs):block starte ...
- mac下 配置 Apache Php Mysql
参考 http://www.guomii.com/posts/30136 参考 http://forums.mysql.com/read.php?11,600754,600754 MacOS 10.8 ...
- 一个ShellExecute的超全说明(www.phidels.com这个网站很多内容)
I. Introduction / Déclaration ShellExecute fait partie des innombrables fonctions de l'API Windows ; ...
- 啊华北哦好咕~~(╯﹏╰)b
http://v.qq.com/boke/page/c/h/0/c01173tzeh0.html http://v.qq.com/boke/page/r/7/x/r0117l07r7x.html ht ...
- VC++非MFC项目中如何使用TRACE宏
记得原来尝试学MFC的时候觉得有一个TRACE可以在Debug时向VS的调试输出窗口输出字串符,用来调试时跟踪变量很方便. 然则如果不是MFC项目或者ATL的项目的话是不能使用这个宏的.这时有一个没有 ...
- poj 3624 Charm Bracelet(区间dp)
题目链接:http://poj.org/problem?id=3624 思路分析: 经典的0-1背包问题: 分析如下: 代码如下: #include <iostream> using na ...
- Treap的读书笔记2
近期開始了自己高级数据结构之旅,在这次旅行中.我将持续把一些高级的数据结构从理论到编码都过一遍,同一时候通过博客形式分享出来.希望大家指出不足之处! 二叉排序树是一种动态排序的数据结构.支持插入.删除 ...
- Codeforces Round #253 (Div. 2), problem: (B)【字符串匹配】
简易字符串匹配,题意不难 #include <stdio.h> #include <string.h> #include <math.h> #include < ...