IDtProvider.FetchRows

Синтаксис

FetchRows(Count: Integer; Var Values: Array): Integer;

Параметры

Count. Количество записей, данные которых необходимо считать;

Values. Двухмерный массив, в который будут помещены считанные значения.

Описание

Метод FetchRows осуществляет чтение данных указанного количества записей из источника данных и возвращает количество фактически считанных записей.

Комментарии

Чтение данных осуществляется в массив, передаваемый по ссылке в параметре Values.

Если объем загружаемых данных известен (известно количество записей и количество столбцов, в которых находятся данные каждой записи), то в качестве значения параметра Values можно указать массив, размер которого больше или равен размеру объему данных.

Если объем загружаемых данных не известен, то в качестве параметра Values необходимо указать переменную, соответствующую пустому динамическому массиву. При выполнении метода FetchRows массив будет инициализирован автоматически, в соответствии с вычисленным объемом загружаемых данных.

Примечание. При многократном чтении данных для повторного использования одной и той же переменной-массива перед вызовом метода FetchRows переменную необходимо обнулять, либо инициализировать новый массив необходимого размера.

После чтения данных курсор в источнике перемещается на следующую запись.

Пример

Для выполнения примера предполагается наличие в корневом каталоге диска С файла "Data.xls".

Sub LoadData;
Var
    ExcelProvider: IDtExcelProvider;
    v: Array;
    Sub ShowArray(Data: Array);
    Var
        i, j: Integer;
    Begin
        For i := Data.GetLowerBound(1To Data.GetUpperBound(1Do
            For j := Data.GetLowerBound(2To Data.GetUpperBound(2Do
                Debug.Write(Data[i, j] + " ");
            End For;
            Debug.WriteLine("");
        End For;
    End Sub ShowArray;
Begin
    ExcelProvider := New DtExcelProvider.Create;
    ExcelProvider.File := "c:\Data.xls";
    ExcelProvider.DriverVersion := "Excel 5.0";
    ExcelProvider.Query := "Select * From [Лист1$]";
    ExcelProvider.HasHeader := False;
    ExcelProvider.FieldsFromFile;
    ExcelProvider.Open;
    //Считывание данных
    Debug.WriteLine("Первый массив данных:");
    ExcelProvider.FetchRows(5, v);
    ShowArray(v);
    v := Null;
    Debug.WriteLine("Второй массив данных:");
    ExcelProvider.FetchRows(10, v);
    ShowArray(v);
    ExcelProvider.Close;
End Sub LoadData;

При выполнении примера будет создан новый источник данных, осуществляющий импорт данных из файла Excel. Из файла в две итерации будут считаны данные, первая строка не будет рассматриваться как строка с именами полей. Полученные значения будут выведены в консоль среды разработки.

См. также:

IDtProvider