Получить заданную запись выборки данных в виде ассоциированного массива
Назначение
Метод SQLFetchHash предоставляет заданную запись выборки данных последнего поискового запроса в указанном соединении (курсоре) в виде ассоциированного массива, то есть в виде массива записей, где каждый элемент записи выборки данных представлен в виде пары значений:
<имя поля записи> <значение поля записи>
Синтаксис
value {<объект Connect> | <объект Cursor>}.SQLFetchHash(Pos[, Number])
-
Pos -
Целочисленный идентификатор местоположения записи в выборке данных (см. метод
SQLFetchRow). -
Number -
Номер записи.
Для идентификатора местоположения записи
FETCH_FIRST,FETCH_LAST,FETCH_NEXT,FETCH_PREVномер записи игнорируется, а дляFETCH_ABSNUMдолжен быть указан обязательно.Нумерация записей начинается с 1.
Возвращаемое значение
Ассоциированный массив записей выборки данных.
В ассоциированном массиве каждому столбцу записи выборки данных соответствуют два элемента:
<имя столбца> <значение столбца в данной строке ответа>
Пример
require "LinRuby"
begin
connect = LinterConnection.Create()
connect.Open("SYSTEM", "MANAGER8", nil, M_EXCLUSIVE | Q_ENCODE)
puts "connection to RDBMS Linter is successed"
connect.SQLExecuteDirect("select NAME, JOB, CITY, AGE, PERSONID from PERSON;")
i = 1
while ( i <= connect.GetRowCount )
hash = connect.SQLFetchHash(FETCH_ABSNUM, i)
j = 0
while ( j < hash.values.size )
puts "#{hash.keys[j]} = #{hash.values[j]}"
j = j + 1
end
i = i + 1
end
rescue => error
puts error
ensure
if connect != nil
connect.Close()
end
end