Получить массивы значений нескольких строк ответа

Назначение

Получить массивы значений нескольких строк ответа курсорного запроса.

Синтаксические правила

   
GetDataRowS | GetM (< идентификатор курсора >, < массив >, < количество строк >);
< Идентификатор курсора >

Идентификатор курсора, в котором выполнен запрос выборки данных.

< Массив >

Адрес массива для записи значений строк ответа.

< Количество строк >

Целое неотрицательное значение. Отсчет начинается с 1.

Возвращаемое значение

Двумерный массив значений заданного количества строк ответа курсорного запроса.

Отсчет строк ответа начинается с текущей строки курсорного запроса.

Если в курсорном запросе нет нужного количества строк ответа, возвращается сколько есть.

Примечание

С функциональной точки зрения функции GetDataRowS и GetM идентичны. Отличие в том, что при выполнении функции GetM СУБД ЛИНТЕР использует пакетную загрузку данных в массив, что при большом количестве запрашиваемых строк может дать выигрыш по времени.

Пример

$err = ExecDirect($cur, "select * from auto;");
$err && ... to do something for error handling ...
$err = GetDataRowS($cur, \@res, 5);
$err && ... to do something for error handling ...
$make1=$res[0][0]; # марка машины в первой строке (1-й столбец)
$model1=$res[0][1] # модель машины в первой строке (2-й столбец)
…
$make3=$res[2][0]; # марка машины в третьей строке (1-й столбец)
$model3=$res[2][1] # модель машины в третьей строке (2-й столбец)

См. также функции:

ExecDirect, Execute, Fetch, GetDataColumn, GetDataRow, GetDataArray.