我很新的c#編程,我已經繼承了這個腳本,我正在努力。SqlDataReader.NextResult()處理0結果
我正在調用3個結果集的過程。第一個結果集將始終返回1條記錄。第二個結果集可能會返回1或0個記錄。第三個結果集可能會返回1或0個記錄。
SqlCommand cmd = new SqlCommand("MyProc", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@param1", param1));
cmd.Parameters.Add(new SqlParameter("@param2", param2));
pageData = cmd.ExecuteReader();
while (pageData.Read()){
// Do some stuff here
}
Response.Write("HERE");
pageData.NextResult();
while (pageData.Read()){
// Do some stuff here
}
Response.Write("HERE2");
pageData.NextResult();
while (pageData.Read()){
Response.Write("HERE3");
}
在我的測試情況下,第一記錄集返回1分的結果,第二個0和第三1.在這種情況下,它輸出第一「這裏」,但跳過第二和第三。
我需要跳過第二組是否有0結果它並轉到第三
NextResult重新運行一個布爾值。你的電話回覆真實嗎?如果第二個這裏從來沒有顯示異常正在拋出,你正在默默地扔掉它。你也需要使用'using'語句來處理你的讀者。 –