存储过程返回两个数据集,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)
{
// 对第二个数据集中的每行数据进行操作
}