[ADO.NET](note)DataReader求總筆數

摘要:[ADO.NET]DataReader求總筆數

DataReader 結果是 stream,每下一次 Read 才讀出一筆,所以沒有 Count 屬性..

第一種:
int rowCount = 0;
if (dr.HasRows)  
{  
    while (dr.Read())  
        {  
            rowCount++;
            dgResults.DataSource = dr;  
            dgResults.DataBind();  
            dgResults.Visible = true;  
        }  
 
lblMsg.Text = rowCount.ToString();
dr.Close(); 
 
 

第二種:
1.設定連線字串時加入「MultipleActiveResultSets=True」來啟用MARS功能
2.下 SQL ="Select.........; Select @@ROWCOUNT"
先讀資料,再下 NextResult 讀筆數
..........................
string sql = "select   *  from mytabel  ; select   @@ROWCOUNT as mycount   " ;
..........................
while(dr.Read()) {
        
      }

dr.NextResult();
while(dr.Read()) {
        
      }

 

 
--
強烈建議購物網店或實體店家都必須使用關鍵字廣告or原生廣告來將Yahoo上與聯播網的廣大流量導至自己的網站!

●Yahoo關鍵字廣告/原生廣告
◆Yahoo廣告方案介紹 : https://goo.gl/5k8FHW
◆Yahoo廣告剖析與運用 : http://goo.gl/4xjUJD

 

​​