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