На этой консультации, вы узнаете как извлекать записи возвращенные инструкциями SQL.
  Мы назовём группу записей возвращаемых инструкцией - набором результатов. Общие шаги для получения установленного результата следующие:
  Когда вы проанализируете набор результатов, вам нужно уничтожить его вызвав SQLCloseCursor.
ОПРЕДЕЛЕНИЕ ДОСТУПНОСТИ НАБОРА ТЕЗУЛЬТАТОВ
  Иногда как вы уже знаете в результате выполнения инструкции SQL создаётся набор результатов. Если инструкция SQL - не возвращает набора результатов, то естественно, что никакого доступна к ним быть не может. Тем не менее, иногда вы даже и не знаете, что возвращает инструкция SQL, это возникает тогда, когда вы позволяете пользователю вводить заказные инструкции SQL. В этом случае вы должны проверить был ли создан набор результатов вызовом SQLNumResultCols. Эта функция возвращает количество столбцов (полей) в наборе результатов (если они существуют) и имеет следующий синтаксис:
SQLNumResultCols proto StatementHandle:DWORD, pNumCols:DWORD
  Если величина в переменной указанной pNumCols это 0, значит результат не устанавливался.
СВЯЗЫВАНИЕ СТОЛБЦОВ
  В некотором отношении, понятие - идентичное той же связи переменной с параметром инструкции SQL. Вы ассоциируете(связываете) переменную со специфическим столбцом в наборе результатов. В этом случае используется функция SQLBindCol, которая имеет следующий синтаксис:
SQLBindCol proto StatementHandle:DWORD,
ColumnNumber:DWORD,
TargetValuePtr:DWORD,
BufferLength:DWORD,
pStrLenOrIndPtr:DWORD
  Пример:
.data?
buffer db 21 dup(?)
DataLength dd ? ;will be filled with the length of the string
;in buffer after SQLFetch is called.
.code
.....
invoke SQLBindCol, hStmt, 1, SQL_C_CHAR,
addr buffer, 21, addr DataLength
  ВЫБОРКА СТОЛБЦА
  Это - совсем просто. Функция SQLFetch извлекает столбец из набора результатов в связанные с ним переменные. После того, как функция SQLFetch вызвана, курсор обновляется. Вы можете понимать курсор как указатель записи. Он указывает на столбец который будет возвращаться когда ф-я SQLFetch вызвана. Например, если набор результатов имеет 4 столбца, курсор позиционируется на первом столбце когда создаётся набор результатов. Когда вызывается ф-я SQLFetch, курсор передвигается на 1 столбец. Таким образом, если вы вызываете ф-ю SQLFetch 4 раза, то получается, что столбцов которые можно выбрать больше нет. Тогда говорят, что курсор указывает на конец файла (EOF). SQLFetch имеет следующий синтаксис:
SQLFetch proto StatementHandle:DWORD
  Эта функция возвращает SQL_NO_DATA, если столбец больше недоступен.
  Пример:
.data?
buffer db 21 dup(?)
DataLength dd ?
.code
.....
invoke SQLBindCol, hStmt, 1, SQL_C_CHAR, addr buffer, 21, addr DataLength
invoke SQLFetch, hStmt
[C] Iczelion, пер. SheSan