Làm thế nào để xử lý nhiều ResultSets, mỗi Result có nhiều hàng? Cuộc gọi đến NextResult() ngắt vòng lặp while.Cách xử lý nhiều ResultSets, mỗi ResultSets có nhiều hàng? IDataReader.NextResult() end Read()
Một số SP của tôi trả về nhiều ResultSets. Tôi đang xử lý chúng với NextResult() nhưng khi tôi làm và SP của tôi chỉ có một ResultSet đơn, tôi thấy vòng lặp while với Read() kết thúc để lại cho tôi chỉ với Row đầu tiên.
Không có cuộc gọi đến NextResult() Tôi nhận được tất cả các hàng cho ResultSet đầu tiên nhưng tất nhiên ResultSets thứ hai và tiếp theo không được xử lý?
using (IDataReader reader = storedProcedure.ExecuteReader(CommandBehavior.CloseConnection, parameterNames as string[], arguments))
{
while (reader.Read())
{
ArrayList row = new ArrayList();
for (int j = 0; j < reader.FieldCount; ++j)
{
object rowValue = reader.GetValue(j);
row.Add(rowValue);
}
reader.NextResult();//next resultset, breaks out of the while
}
}
đẹp trên Tomas. – learnerplates
Điều này thật tuyệt. Tôi hiếm khi gặp phải các vòng lặp do-while nữa mà tôi quên nó thậm chí còn tồn tại và do đó không bao giờ nghĩ đến việc sử dụng nó cho đến khi thấy điều này. Cảm ơn bạn! – KSwift87
Sitch hoàn hảo cho cấu trúc do/while – pimbrouwers