How to handle multiple ResultSets, each with multiple Rows? IDataReader.NextResult() ending Read()

天大地大妈咪最大 提交于 2019-11-29 13:12:56

You need to create two nested loops.

  • The outer loop should iterate over result sets and should have NextResult at the end
  • The inner loop should iterate over rows in a result set and should have Read at the beginning.

Something like:

using (IDataReader reader = ...) { 
  // Process all result sets
  do {
    // Process all elements in the current result set
    while (reader.Read()) { 
      ArrayList row = new ArrayList(); 
      for (int j = 0; j < reader.FieldCount; ++j) { 
        object rowValue = reader.GetValue(j); 
        row.Add(rowValue); 
      } 
      // TODO: Do something with 'row'
    }
  } while (reader.NextResult())
} 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!