Уроки Iczelion'а


Урок 2. Соединение с базой данных - часть 3


  Возможные возвращаемые значения SQLAllocHandle могут быть:

 

SQL_SUCCESS Функция завершена успешно
SQL_SUCCESS_WITH_INFO Функция завершена успешно, но с предупреждением
SQL_ERROR Функция потерпела неудачу.
SQL_INVALID_HANDLE Идентификатор переданный функции, недействителен

  Выполнилась ли функция успешно или потерпела неудачу, вы можете получить подробную информацию относительно этого, вызывая SQLGetDiagRecили SQLGetDiagField. Они играют ту же самую роль, что и GetLastError в Win32 API.

  Пример: .data? hEnv dd ?

.code invoke SQLAllocHandle, SQL_HANDLE_ENV, SQL_HANDLE_NULL, addr hEnv .if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO

ВЫБОР ВЕРСИИ ODBC

  После выделения памяти для идентификатора окружения вы должны установить атрибут окружения, SQL_ATTR_ODBC_VERSION, в соответствующее значение. Установка значения атрибута окружения делается, вызовом SQLSetEnvAttr. К настоящему времени вы должны знать, что имеются также функции SQLSetConnectAttr и SQLSetStmtAttr. SQLSetEnvAttr определена как: SQLSetEnvAttr proto EnvironmentHandle:DWORD, Attribute:DWORD, ValuePtr:DWORD, StringLength:DWORD

  • EnvironmentHandle. Содержит идентификатор окружения, атрибут которого вы хотите установить.
  • Attribute. Константа, которая представляет атрибут, который вы хотите установить. Для нашей цели, это - SQL_ATTR_ODBC_VERSION. Вы можете искать полный список в MSDN.
  • ValuePtr. Значение этого параметра зависит от атрибута, который вы хотите установить. Если атрибут - 32-разрядное значение, этот параметр обрабатывается как значение, которое вы хотите установить. Если атрибут - текстовая строка или двоичный буфер, то это интерпретируется как указатель на строку или буфер. Если вы определяете SQL_ATTR_ODBC_VERSION, то имеются два возможных значения, которые вы можете использовать: SQL_OV_ODBC3 и SQL_OV_ODBC2, для ODBC версий 3.x и 2.x соответственно.
  • StringLength. Размер значения, указанного ValuePtr. Если значение - строка или двоичный буфер, этот параметр должен быть действителен. Если атрибут, который вы хотите установить - dword, этот параметр игнорируется. С тех пор как SQL_ATTR_ODBC_VERSION атрибут содержит значение dword, вы можете передавать NULL как этот параметр.




- Начало -  - Назад -  - Вперед -