oledbdatareader(C#中怎么利用 OleDbDataReader读取数据)

发布时间:2025-12-11 01:19:59 浏览次数:2

//方法一**速度中等OleDbDataReaderreader=command.ExecuteReader();while(reader.Read()){vart1=reader[0];}//方法二**速度最慢OleDbDataReaderreader=command.ExecuteReader();while(reader.Read()){vart1=reader["字段名"];}//方法三**速度最快OleDbDataReaderreader=command.ExecuteReader();while(reader.Read()){vart1=reader.GetValue(0);}

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

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

测试源码如下:

staticvoidMain(string[]args){stringconnstr=string.Format("Provider=Microsoft.Jet.OLEDB.4.0;DataSource={0};","F:\\2.mdb");strings1="ID";strings2="探测号";strings3="X";strings4="Y";strings5="H";stringsql=string.Format("select{0},{1},{2},{3},{4}FROM管点表",s1,s2,s3,s4,s5);TimeSpantime1=newTimeSpan();TimeSpantime2=newTimeSpan();TimeSpantime3=newTimeSpan();intcount=50;//数据库中查询的表有105945行for(inti=0;i<count;i++){using(OleDbConnectionconn=newOleDbConnection(connstr)){#regionconn.Open();OleDbCommandcommand=conn.CreateCommand();command.CommandText=sql;OleDbDataReaderreader=command.ExecuteReader();DateTimenow=DateTime.Now;while(reader.Read()){vart1=reader[0];vart2=reader[1];vart3=reader[2];vart4=reader[3];vart5=reader[4];}time1=time1+(DateTime.Now-now);#endregion}}for(inti=0;i<count;i++){using(OleDbConnectionconn=newOleDbConnection(connstr)){#regionconn.Open();OleDbCommandcommand2=conn.CreateCommand();command2.CommandText=sql;OleDbDataReaderreader=command2.ExecuteReader();DateTimenow=DateTime.Now;while(reader.Read()){vart1=reader[s1];vart2=reader[s2];vart3=reader[s3];vart4=reader[s4];vart5=reader[s5];}time2=time2+(DateTime.Now-now);#endregion}}for(inti=0;i<count;i++){using(OleDbConnectionconn=newOleDbConnection(connstr)){#regionconn.Open();OleDbCommandcommand3=conn.CreateCommand();command3.CommandText=sql;OleDbDataReaderreader=command3.ExecuteReader();DateTimenow=DateTime.Now;while(reader.Read()){vart1=reader.GetValue(0);vart2=reader.GetValue(1);vart3=reader.GetValue(2);vart4=reader.GetValue(3);vart5=reader.GetValue(4);}time3=time3+(DateTime.Now-now);#endregion}}Console.WriteLine(string.Format("方法一:\r\n耗时:{0}s",time1.TotalSeconds));Console.WriteLine(string.Format("方法二:\r\n耗时:{0}s",time2.TotalSeconds));Console.WriteLine(string.Format("方法三:\r\n耗时:{0}s",time3.TotalSeconds));Console.ReadKey();}

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

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

上述内容就是C#中怎么利用 OleDbDataReader读取数据,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注本站行业资讯频道。

oledbdatareader
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477