存儲過程傳回兩個資料集,C#中調用該存儲過程并獲得兩個資料集的方法如下:
DbConnection db = new DbConnection();
SqlConnection conn = db.GetConnection();
SqlCommand sqlCmd = new SqlCommand("select_useReport", conn);
sqlCmd.CommandType = System.Data.CommandType.StoredProcedure;
// 起始時間參數
SqlParameter timeStartParam = new SqlParameter("@startTime", SqlDbType.DateTime);
timeStartParam.Direction = ParameterDirection.Input;
timeStartParam.Value = DateTime.Parse(timeStart);
sqlCmd.Parameters.Add(timeStartParam);
// 結束時間參數
SqlParameter timeEndParam = new SqlParameter("@endTime", SqlDbType.DateTime);
timeEndParam.Direction = ParameterDirection.Input;
timeEndParam.Value = DateTime.Parse(timeEnd);
sqlCmd.Parameters.Add(timeEndParam);
SqlDataAdapter da = new SqlDataAdapter(sqlCmd);
DataSet ds = new DataSet();
da.Fill(ds);
foreach (DataRow row in ds.Tables[0].Rows)
{
// 對第一個資料集中的每行資料進行操作
}
foreach (DataRow row in ds.Tables[1].Rows)
{
// 對第二個資料集中的每行資料進行操作
}