2017-02-24 59 views
0

你好,大家好我與我需要檢查,如果一個DataTableReader對象有下一次更多的結果我打電話Read()功能的問題。 我的代碼是這樣的:DataTableReader檢查是否有下一個結果C#

 DataTable workTable = new DataTable(); 
     workTable.Columns.Add("1"); 
     workTable.Columns.Add("2"); 
     DataRow workRow; 

     for (int i = 0; i <= 9; i++) 
     { 
      workRow = workTable.NewRow(); 
      workRow[0] = i; 
      workRow[1] = "CustName" + i.ToString(); 
      workTable.Rows.Add(workRow); 
     } 
     var test2 = workTable.CreateDataReader(); 

     while (test2.Read()) 
     { 
      Debug.WriteLine(test2[1]); 
      //I need to know if the test2 instance Read function 
      //will return false next time I call it without move the current 
      //cursor.. 
      Debug.WriteLine("Have next?: "+ test2.HasNextResult()); //something like that, of some workaround... 
     } 

反正有做到這一點?

只爲你們知道,我這樣做是因爲我嘲笑(對於統一測試)一個COM記錄集對象具有EOF屬性和MoveNext方法。該EOF檢查,如果當前行是空的,MoveNext方法當前光標移動到下一個記錄,我使用的DataTableReader一個實例來覆蓋這些操作。

回答

0

的datatablereader有NextResult方法將返回基於讀者是否有更多結果布爾。

,你可以使用它作爲這樣

do 
{ 
    var x = reader.Read(); 
    ...Rest of your code 
} while (reader.NextResult()); 
+0

這個解決方案沒有奏效。剛過throught一個時間,然後離開了'做{} while'聲明。該'NextResult'方法返回假的,但我已經加入9項(如代碼顯示在我的問題的說明) –