,,C# OleDbDataReader快速数据读取方式(3种)

,,C# OleDbDataReader快速数据读取方式(3种)

这篇文章主要介绍了C# OleDbDataReader快速数据读取方式(3种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

查询得到OleDbDataReader后,有三种方式支持数据读取,如下:

//方法一**速度中等

OleDbDataReader reader=command .ExecuteReader();

而(读者. Read())

{

var t1=reader[0];

}

//方法二**速度最慢

OleDbDataReader reader=command .ExecuteReader();

而(读者. Read())

{

var t1=reader['字段名'];

}

//方法三**速度最快

OleDbDataReader reader=command .ExecuteReader();

而(读者. Read())

{

var t1=阅读器GetValue(0);

}

关于速度的描述,下面我们来简单验证一下。

有一个数据库,数据库中的表试验有105945行数据,设计一个循环读取来测试他们的读取速度。

测试源码如下:

静态void Main(string[] args)

{

字符串连接=字符串。格式(' Provider=Microsoft .杰特。OLEDB.4.0数据源={ 0 };',' F:\ \ 2。MDB’);

字符串s1=' ID

字符串s2='探测号;

字符串s3=' X

字符串s4=' Y

字符串s5=' H

字符串sql=字符串。格式('从中选择{0}、{1}、{2}、{3}、{4}管点表s1、s2、s3、s4、S5);

TimeSpan time 1=new TimeSpan();

TimeSpan time 2=new TimeSpan();

TimeSpan time 3=new TimeSpan();

int count=50

//数据库中查询的表有105945行

for(int I=0;我数;我)

{

使用(oledb连接conn=新oledb连接(connstr))

{

#地区

conn . Open();

oledb命令command=conn . create command();

命令CommandText=sql

OleDbDataReader reader=command .ExecuteReader();

现在日期时间=日期时间。现在;

而(读者. Read())

{

var t1=reader[0];var T2=读者[1];var T3=reader[2];var T4=读者[3];var t5=reader[4];

}

时间1=时间1(日期时间。现在-现在);

#结束区域

}

}

for(int I=0;我数;我)

{

使用(oledb连接conn=新oledb连接(connstr))

{

#地区

conn . Open();

oledb命令command 2=conn . create command();

命令2。CommandText=sql

OleDbDataReader reader=command2 .ExecuteReader();

现在日期时间=日期时间。现在;

而(读者. Read())

{

var t1=读者[S1];var T2=读者[S2];var T3=读者[S3];var T4=读者[S4];var t5=reader[S5];

}

时间2=时间2(日期时间。现在-现在);

#结束区域

}

}

for(int I=0;我数;我)

{

使用(oledb连接conn=新oledb连接(connstr))

{

#地区

conn . Open();

oledb command命令3=conn . create命令();

命令3。CommandText=sql

OleDbDataReader reader=command3 .ExecuteReader();

现在日期时间=日期时间。现在;

而(读者. Read())

{

var t1=阅读器GetValue(0);var t2=阅读器GetValue(1);var t3=阅读器GetValue(2);变量t4=阅读器GetValue(3);var t5=阅读器GetValue(4);

}

时间3=时间3(日期时间。现在-现在);

#结束区域

}

}

控制台WriteLine(字符串。格式('方法一:\r\n耗时:{0}s ',时间1。总秒数));

控制台WriteLine(字符串。格式('方法二:\r\n耗时:{0}s ',时间2。总秒数));

控制台WriteLine(字符串。格式('方法三:\r\n耗时:{0}s ',时间3。总秒数));

控制台read key();

}

循环50次结果,即50*105945:

100次循环结果:即100*105945:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • ,,asp.net OleDbCommand 的用法
  • ,,C# 使用 OleDbConnection 连接读取Excel的方法
  • ,,Asp.Net(C#)使用oleDbConnection 连接Excel的方法
  • arduino音乐呼吸灯接线图和代码,arduinoled呼吸灯代码
  • oled电视和uled电视哪个好,uled和oled电视区别
  • 电视Uled和LEd电视哪个好,led.uled.oled电视有什么区别
  • ltpo屏幕是oled吗,ltpo屏幕和oled屏幕哪个对眼睛好
  • led屏幕和oled屏幕的区别,oled屏幕与led屏幕的区别
  • oled电视和oled电视哪个好,OLED电视怎么样
  • 创维uled和海信uled哪个好,oled创维和海信哪个好
  • led uled oled 量子点,uled和量子点
  • 海信量子点和tcl量子点,海信uled和oled哪个好
  • ltpo屏幕和oled屏幕哪个对眼睛好,ltpo屏幕是oled吗
  • oled.uled.qled有什么区别,qled电视oled电视uled电视的区别
  • uled电视和eled的区别,uled电视和oled电视优缺点
  • 留言与评论(共有 条评论)
       
    验证码: