首页 新闻 会员 周边

OleDbDataReader 数据读取器可以打开一个,然后再打开一个继续读取

0
悬赏园豆:10 [已关闭问题]

开启第一个数据读取器:OleDbDataReader sdr = db.OpenSQL(sql1);

if (sdr.Read())
 {   string a= sdr["a"].ToString();
      string b= sdr["b"].ToString();
         

string sql2= "select * from TMP003 WHERE A='a' and B='b' " ;

 开启第二个数据读取器:OleDbDataReader odr = db.OpenSQL(comSql)  ;

      if(odr.Read()) {   string c= sdr[1].ToString();     }

     odr.Close();

}

     sdr.Close();

 

 

上述写法是在一个数据读取器打开的同时,再继续去打开另一个数据读取器,来读取数据,最后依次关闭。能运行,但是对于大量数据时,执行速度很慢,不知道有没有更好的写法?

问题补充: sqlString 是连接数据库语句。 private OracleDataReader OpenSQL(OracleConnection con,string sqlString) { OracleDataReader sdr = null; OracleCommand cmd = null; try { cmd = new OracleCommand(sqlString, con); sdr = cmd.ExecuteReader(); } catch (Exception e) { throw new Exception(e.Message); } return sdr; }
sl2008的主页 sl2008 | 菜鸟二级 | 园豆:407
提问于:2009-02-07 15:40
< >
分享
其他回答(2)
0

oh mark

Jared.Nie | 园豆:1940 (小虾三级) | 2009-02-07 16:30
0

关键部分在你那个OpenSQL函数里面, 请把代码法出来.

develope-logs | 园豆:204 (菜鸟二级) | 2009-02-07 17:27
0

DataReader is faster than DataTable/DataSet,

performance keyword is your SQL statement.

 

-------------------------------------------------
Wizard 编程网 :
http://www.cnblogs.com/WizardWu

    

WizardWu | 园豆:1402 (小虾三级) | 2009-02-07 18:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册