读取记录中两个方法的区别

问题描述

用SqlDataReader.GetString(SqlDataReader.GetOrdinal("item"))获取单条记录某一项值同用DataTable.Rows[0]["item"].ToString()来获取单条记录某一项值相比有什么区别.哪个会好一点.

解决方案

解决方案二:
为啥不用SqlDataReader["item"]?SqlDataReader是每行每行的读取,需要保持连接畅通。而DataTable是已经将数据加载到DataTable中,不需要连接的畅通。前一种要好点,后一种要消耗一些内存。
解决方案三:
前一种会不会造成死锁.???
解决方案四:
SqlDataReader是只读向前的读取器,datatable可以随意读取哪一行
解决方案五:
哦有点启发.平时不怎么爱用SqlDataReader现在开始觉得还有点用了.谢了.但是我还是不明白这样调用:SqlDataReader.GetString(SqlDataReader.GetOrdinal("item"))会有什么好处
解决方案六:
引用3楼virusplayer的回复:

SqlDataReader是只读向前的读取器,datatable可以随意读取哪一行

同意根据情况而定选择哪个?

时间: 2024-10-29 04:10:22

读取记录中两个方法的区别的相关文章

PHP中数组合并的两种方法及区别介绍_php技巧

PHP数组合并两种方法及区别 如果是关联数组,如下: 复制代码 代码如下: $a = array( 'where' => 'uid=1', 'order' => 'uid', ); $b = array( 'where' => 'uid=2', 'order' => 'uid desc', ); 1. array_merge,如果两个数组存在相同的key,后面的一个会覆盖前面的 复制代码 代码如下: <?php $c = array_merge($a, $b); var_ex

Java读取Map的两种方法与对比_java

前言 在java中遍历Map有不少的方法.这篇文章我们就来看一下Java读取Map的两种方法以及这两种方法的对比. 一. 遍历Map方法A Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = en

javascript-在同一个页面 js中两个方法传值

问题描述 在同一个页面 js中两个方法传值 js方法A()是接收webbrowser传来的值 而方法B()是去获取 方法A()传来的值如何实现? 如何实现?尽量写出具体代码! 解决方案 不知道我的理解是否正确,希望能帮到你 var val; //定义一个公共变量 function A(var_fromweb){ val = var_fromweb; //把方法A想要传出的值赋给 val } function B(){ //这里就可以直接使用val了 } 解决方案二: function getVa

jsp页面中两种方法显示当前时间的简单实例_JSP编程

在jsp页面实现显示当前的日期时间,我们可以用一下两种方式实现: 1. 通过在jsp页面添加Java代码实现,主要代码如下所示 java.text.SimpleDateFormat simpleDateFormat = new java.text.SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); java.util.Date currentTime = new java.util.Date(); String time = simpleDateForm

SQL语句实现删除ACCESS重复记录的两种方法_MsSql

以下就重复记录删除的问题作一阐述. 有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略. 1.对于第一种重复,比较容易解决,使用 select distinct * from tableName 就可以得到无重复记录的结果集. 如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除 复制代码 代码如下: select distinct * into #Tmp from table

SQL语句实现删除ACCESS重复记录的两种方法

以下就重复记录删除的问题作一阐述. 有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略. 1.对于第一种重复,比较容易解决,使用 select distinct * from tableName 就可以得到无重复记录的结果集. 如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除 复制代码 代码如下: select distinct * into #Tmp from table

ThinkPHP中实例Model方法的区别说明_php技巧

在TP中,我们可以用下面两种方法去创建一个数据表的映射对象(我暂时用到的) 第一种:$Test = D('Test') 第二种:$Test = new Model('Test') 虽然这两种都可以对数据进行select,insert,delete,udpate操作,在数据验证上有很大的不同, 我们来看看效果,先创建一个 TestModel 复制代码 代码如下: class TestModel extends Model{ protected $_validate = array{ array('

php fseek函数读取大文件两种方法_php实例

php读取大文件,使用fseek函数是最为普遍的方式,它不需要将文件的内容全部读入内存,而是直接通过指针来操作,所以效率是相当高效的.在使用fseek来对文件进行操作时,也有多种不同的方法,效率可能也是略有差别的,下面是常用的两种方法. 方法一: 首先通过fseek找到文件的最后一位EOF,然后找最后一行的起始位置,取这一行的数据,再找次一行的起始位置,再取这一行的位置,依次类推,直到找到了$num行.实现代码如下: 整个代码执行完成耗时 0.0095 (s) function tail($fp

php fseek函数读取大文件两种方法

php读取大文件,使用fseek函数是最为普遍的方式,它不需要将文件的内容全部读入内存,而是直接通过指针来操作,所以效率是相当高效的.在使用fseek来对文件进行操作时,也有多种不同的方法,效率可能也是略有差别的,下面是常用的两种方法. 方法一: 首先通过fseek找到文件的最后一位EOF,然后找最后一行的起始位置,取这一行的数据,再找次一行的起始位置,再取这一行的位置,依次类推,直到找到了$num行.实现代码如下: 整个代码执行完成耗时 0.0095 (s) function tail($fp