Вверх ↑
Пакеты 
HiAsm4
Windows 
Компоненты 
Бaзы дaнныx 
ODBC - ODBC

ODBC
Краткое описание
  Компонент предназначен для доступа к различным источникам данных через механизм ODBC (Open DataBase Connectivity) — это открытый интерфейс доступа к базам данных.
Параметры
  • ConnectionDrv - Строка для подключения к источнику данных через указанный драйвер
  • DSN_Name - Имя источника данных (DataSourceName)
  • User_ID - Имя пользователя для подключения к источнику данных
  • Password - Пароль для подключения к источнику данных
  • BrowseType - Тип запрашиваемых данных методом doList: Drivers - список установленных в системе ODBC драйверов; DataSources - список источников данных, определённых в системе
  • Driver - Строка, определяющая драйвер ODBC
  • FileDB - Имя файла Базы Данных для метода doSetup при создании нового источника данных (DSN)
  • ReadOnly - Если True, то режим только для чтения данных из источника
  • Exclusive - Если True, то однопользовательский режим доступа к источнику данных
  • Error - Отображать сообщения об ошибках: ErrorMessage - всплывающее окно с сообщением, ErrorNumber - номер ошибки на выходе onError. Описание номеров ошибок смотри в справке на компонент
  • Методы
  • doConnectDSN - Создаёт соединение с Базой Данных по указанному DSN
  • doQuery - В потоке передаётся строка SQL-запроса на выборку полей
  • doExec - В потоке передаётся строка SQL-запроса на изменение полей
  • doDisconnect - Закрывает соединение с Базой Данных
  • doConnectDrv - Создаёт соединение с Базой Данных по указанному драйверу
  • doBinary - В потоке передаётся строка SQL-запроса на изменение бинарных полей. Данные для записи снимаются с верхней точки BinaryStream
  • doList - Создаёт список ODBC драйверов или источников данных, установленных в системе. Список получается из потока события onStreamString, а атрибуты из потока события onStreamBinary. Тип запрашиваемых данных задаётся свойством BrowseType или верхней одноименной точкой.
  • doSetup - Создаёт новый источник данных (DSN), связанный с файлом Базы Данных через выбранный драйвер, заданный свойством Driver или одноименной верхней точкой и именем, указанным свойством DSN_Name
  • События
  • onStreamString - Выдаёт в поток строковой результат запроса
  • onStreamBinary - Выдаёт в поток бинарный результат запроса для метода doQuery, но выдаёт в поток строковой результат запроса для метода doList, возвращая атрибуты драйверов или источников данных
  • onRowCount - Происходит при успешном выполнении запроса на изменение полей. Возвращает количество изменённых полей
  • onColumnsInfo - Происходит перед выдачей запрашиваемых данных. В потоке содержит имена полей
  • onError - Происходит при возникновении ошибки в работе компонента (при установленном свойстве Error = ErrorNumber) и выдает в поток номер ошибки. Описание номеров ошибок смотри в справке на компонент
  • Свойства
  • FieldName - Имя поля данных выдаваемого в поток
  • FieldType - Тип поля данных выдаваемого в поток
  • FieldSize - Размер поля данных в бинарном потоке
  • ColumnsCount - Количество полученных столбцов
  • Данные
  • DSN_Name - Имя источника данных (DataSourceName)
  • ConnectionDrv - Строка для подключения к источнику данных через указанный драйвер
  • UserID - Имя пользователя для подключения к источнику данных
  • Password - Пароль для подключения к источнику данных
  • Driver - Строка, определяющая драйвер ODBC
  • BinaryStream - Stream для записи в бинарное поле БД
  • BrowseType - Строка, определяющая тип запрашиваемых данных методом doList
  • FileDB - Имя файла Базы Данных для метода doSetup при создании нового источника данных (DSN)
  • Замечания
      Для непосредственного подключения к базе данных ODBC API предоставляет следующие три функции:
  • SQLConnect - соединение с источником данных по DSN, имени и паролю пользователя;
  • SQLDriverConnect - соединение с источником данных по указанной строке соединения или при помощи отображаемого диалога для интерактивного ввода параметров соединения;
  • SQLBrowseConnect - соединение с источником данных с последовательным предварительным запросом атрибутов соединения.
      Элемент ODBC реализует первые две функции, но без диалога для интерактивного ввода параметров соединения. При подключении к источнику данных используются два метода: doConnectDSN и doConnectDrv, которые соответствуют функциям SQLConnect и SQLDriverConnect.

      Параметры подключения к источнику данных определяются свойствами: DSN_Name, User_ID и Password для метода doConnectDSN и ConnectionDrv для метода doConnectDrv.

      Для выполнения оператора SELECT вызывается метод doQuery. Результаты запроса получаем в потоках событий onStreamString и onStreamBinary для каждого запрошенного поля. В момент получения данных из потока актуальны нижние точки компонента, определяющие свойства поля данных: FieldName (имя поля данных), FieldType (тип поля данных) и FieldSize (количество байт поля данных в бинарном потоке). Для выполнения операторов UPDATE, DELETE или INSERT вызывается метод doExec, выполнение которого завершается событием onRowCount, в потоке которого содержится количество строк источника данных, на которые воздействовал оператор. Для получения имён полей запроса используется событие onColumnsInfo, а количество возвращённых колонок актуально после события onColumnsInfo на нижней точке ColumnsCount.

      Для создания нового источника данных через ODBC драйвер вызывается метод doSetup. Для его выполнения необходимо определить свойство Driver, которое указывает драйвер ODBC, а также свойства DSN_Name, User_ID и Password. Последние два могут быть не указаны.

      Для получения списка, установленных в Вашей системе драйверов или источников данных, вызывается метод doList. После чего событие onStreamString вернёт в потоке список драйверов или источников данных, а событие onStreamBinary вернёт в потоке соответствующие им атрибуты.

      Для изменения и/или добавления бинарных данных (например изображений, музыки, программ и т.д.) в Базу Данных вызывается метод doBinary, данными для которого является верхняя точка BinaryStream, из названия которой следует, что на нее нужно подавать данные как у нижней точки Stream элемента MemoryStream.

      Внимание! Учтите, что за один запрос, выполненный методом doBinary, Вы можете изменить или добавить только одно поле бинарных данных. Также следует заметить, что не все провайдеры данных поддерживают обработку нескольких наборов данных на один запрос. Поэтому в данной версии элемента не реализована поддержка запросов вида: SELECT ...; SELECT...; Разделяйте такие запросы на части для их последовательного выполнения.

      Для завершения сеанса подключения вызывается метод doDisconnect.

    Примеры строк запросов
    #sql
    SELECT * FROM ALL_TYPES_FIELD ORDER BY charField - выборка всех полей из источника данных;
    INSERT INTO ALL_TYPES_FIELD( imageField ) VALUES( ? ) - добавление бинарного поля в источник данных;
    UPDATE ALL_TYPES_FIELD SET imageField = ? WHERE ( intField LIKE '2147483647' ) - изменение бинарного поля источника данных;
    UPDATE ALL_TYPES_FIELD SET charField ='zero' WHERE ( bitField LIKE '0' ) - изменение символьного поля источника данных;
    DELETE FROM ALL_TYPES_FIELD - удаление всех записей источника данных;
    CREATE TABLE MyTABLE (ID int, Icon image) - создание таблицы источника данных;

      Событие onError возвращает следующие коды ошибок:

      Возвращаемое значение    Описание ошибки
      1000    Не удалось создать среду ODBC
      1001    Не удалось указать версию ODBC 3.0
      1002    Не удалось создать соединение
      1003    Не удалось соединиться с БД
      1004    Не удалось создать запрос
      1005    Не удалось выполнить запрос
      1006    Не удалось получить поле
      1007    Ошибка получения следующего набора данных
      1008    Не удалось подготовить запрос
      1009    Не удалось выполнить связывание
      1010    Не удалось получить RowCount
      1011    Не удалось получить список
      1012    Не задано имя источника данных
      1013    Не задано имя файла Базы Данных
      1014    Не удалось загрузить ODBCCP32.DLL
      1015    Не удалось получить адрес функции SQLConfigDataSource
      1016    Ошибка при создании DSN
      1017    Не удалось загрузить набор данных
      1018    Запрос вернул пустой набор данных


    Обновление элемента: [svn]ODBC.pas[/svn]
  • BB-code статьи для вставки
    Всего комментариев: 0
    (комментарии к статье еще не добавлены)
    Комментарий
    ...