Получить массивы значений нескольких строк ответа
Назначение
Получить массивы значений нескольких строк ответа курсорного запроса.
Синтаксические правила
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.