c#中datareader中HasRows属性和Read方法的区别

datareader.HasRows 属性获取一个值,该值指示 SqlDataReader 是否包含一行或多行,如果是则返回true,否则返回false;
        datareader.read()为从数据开头往后读,如果库中已读到结尾了(可能没有记录)则返回false,如果用在if中,则会自动读出一条,else里则不必再用read(),如果有while(含有read()条件),则自动从第二条开始往下读
                
        结论:单条可用read()检测,多条用到while时用HasRows检测

原文地址:http://blog.51cto.com/1197822/2153759

时间: 2024-11-14 09:53:36

c#中datareader中HasRows属性和Read方法的区别的相关文章

spring中bean的作用域属性singleton与prototype的区别

1.singleton 当一个bean的作用域设置为singleton, 那么Spring IOC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例.换言之,当把一个bean定义设置为singleton作用域时,Spring IOC容器只会创建该bean定义的唯一实例.这个单一实例会被存储到单例缓存(singleton cache)中,并且所有针对该bean的后续请求和引用都将返回被缓存的对象实例,这里要注意的是singl

Linux系统中如何进入退出vim编辑器,方法及区别

在linux中,vim编辑器是系统自带的文本编辑器,其功能强大.这个VIM(VI)是很简单的.注意:linux命令要小写!VIM编辑器,可以新建文件也可以修改文件,命令为:vim  /usr/local/con.cfg 如果这个文件,以前是没有的,则为新建,输入命令点击回车后下方有提示为新文件.如果文件已存在,则没有提示.进入编辑器后,先按"I",即切换到"插入"状态.就可以通过上下左右移动光标,或空格.退格及回车等进行编辑内容了,和WINDOWS是一样的了.退出v

OC中自定义属性与系统属性冲突解决方法

Xcode中经常我们自己定义的一些属性会和系统的某些属性冲突,坑爹的是你根本不知道系统的这个属性到底是什么玩意,并且编译器还会报警告,对于有强迫症的同学来说,太折磨了.下面提供一个解决方法: 编译器警告: Auto property synthesis will not synthesize property 'description' 这是说编译器自动给你自定义的属性合成getter和setter的时候将会在它的父类上实现,而你会一脸懵逼不知道咋回事,其实只要添加 @dynamic告诉编译器这

对类(class)中的已有属性进行修改方法1

有时,在类的编写过程中,可能已经给了某个属性一个默认值.在之后的使用过程中,我们或许需要更新这个值,可以用如下方法一,对默认值直接进行更新: eg:首先编写好一个有关汽车的类,其中其中先定义了几个汽车的初始化值,其中包含一个默认值,为它的公里数: class Car(): #类的名字都需大写,并要习惯用"""描述类或方法的概述,让他人和自己都一目了然 """一次模拟汽车的简单尝试""" def __init__(se

spring中bean的作用域属性single与prototype的区别

http://blog.csdn.net/linwei_1029/article/details/18408363   1. 当一个bean的作用域设置为singleton, 那么Spring IOC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例.换言之,当把一个bean定义设置为singleton作用域时,Spring IOC容器只会创建该bean定义的唯一实例.这个单一实例会被存储到单例缓存(singleton c

jquery中选择器的 html() text() val() attr() 方法的区别与使用方式

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>html() text() val() attr()</title> <script src="./js/jquery-1.12.4.min.js"></script> <script> $(funct

jquery中append、prepend, before和after方法的区别(一)

原文:http://blog.csdn.net/woosido123/article/details/64439490 在 jquery中append() 与 prepend()是在元素内插入内容(该内容变成该元素的子元素或节点),after() 与before()是在元素的外面插入内容(其内容变成元素的兄弟节点). 1. append()和prepend() <div class='a'> <div class='b'>b</div> </div> 1 2

JavaScript中的call、apply、bind方法的区别

在JS中,this的指向是动态变化的,很可能在写程序的过程中,无意中破坏掉this的指向,所以我们需要一种可以把this的含义固定的技术,于是就有了call,apply和bind这三个方法 apply:应用某一对象的一个方法,用另一个对象替换当前对象.call:调用一个对象的一个方法,以另一个对象替换当前对象. △它们的共同之处:都可以用来代替另一个对象调用一个方法,将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象. △它们的不同之处:①apply:最多只能有两个参数—

js中字符串转换为数值的两种方法的区别

在js中字符串转换为数值的方法有三种:转换函数,强制类型转换,隐式转换 1.转换函数 parseInt()   //将字符串转换为整型 parseFloat()  //将字符串转换为浮点型 转换函数在进行类型转换时是可以传入参数的,默认转换为10进制,转换成功后返回的是整数类型的数值. 例:1. parseInt('AB3', 16) //返回结果:2739,表示将字符串转换为16进制的数值 2.parseInt('13', 10) //返回结果:13,表示将字符串转换为10进制的数值 3.pa