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(1) To Data.GetUpperBound(1) Do
For j := Data.GetLowerBound(2) To Data.GetUpperBound(2) Do
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 8.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. Из файла в две итерации будут считаны данные, первая строка не будет рассматриваться как строка с именами полей. Полученные значения будут выведены в консоль среды разработки.
См. также: