odbchash.f  Доступ к базам данных с помощью хэш-таблиц

Эта библиотека расширяет odbc.f, добавляя чтение и запись данных с помощью расстановочных таблиц. В ней дополнительно определены следующие слова:

BIND-HASH ( hash -- )
Связывает указанную хэш-таблицу с набором данных, полученным в результате последнего запроса словом ExecuteSQL. Связывание заключается в том, что в хэше создается по две записи на каждое поле данных. Первая запись носит то же имя, что и поле данных, вторая запись - такое же имя с добавленным знаком "#". В первой записи хранится ASCIIZ-строка, представляющая содержание поля, во второй - длина поля.
UNBIND-HASH ( -- )
Разрывает связывание хэш-таблицы с набором данных. Содержимое хэша при этом не очищается.
insert-hash ( table-name hash fodbc -- ior )
Добавляет все содержимое хэша в указанную таблицу. В хэше могут храниться как строки, так и числа. Имена полей берутся из ключей хэша.
\ Пример чтения данных
0 VALUE database
small-hash TO h
StartSQL . TO database
S" реклама" 0 0 0 0 database ConnectSQL SQL_OK? .
" SELECT * from firms" database ExecuteSQL ?sql-error
h BIND-HASH
  database NextRow DROP
  S" contact" h HASH@Z .ASCIIZ
  S" contact#" h HASH@ .
UNBIND-HASH

\ Пример записи данных
S" number" 1010 h HASH!N
" Максимиллиан" S" surname" h HASH!Z
S" Флаг" 1 h HASH!N
" 543.56" S" sum" h HASH!Z
" Это просто примечание" S" note" h HASH!Z
" ticket" h database insert-hash SQL_OK? .