DataTableReader检查是否具有下一个结果C#



你好,我遇到的问题是,我需要检查dataTabLeReader对象是否在下次调用 Read()函数时是否有更多结果。我的代码就是这样:

        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...
        }

无论如何都有吗?

只是你们知道,我之所以这样做,是因为我正在嘲笑(用于Unity测试)一个具有EOF属性和MoveNext方法的COM记录集对象。EOF检查当前行是否为空,MoveNext方法将当前光标移至下一个记录,我正在使用DataTableReader的实例来覆盖这些操作。

dataTableReader具有nextresult方法,该方法将根据读者是否有更多结果来返回布尔值。

您可以将其用作这样的

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

最新更新