| ODBC | - ODBC |
ODBC
Краткое описание
Компонент предназначен для доступа к различным источникам данных через механизм ODBC (Open DataBase Connectivity) — это открытый интерфейс доступа к базам данных.
Параметры
Методы
События
Свойства
Данные
Замечания
Для непосредственного подключения к базе данных 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.
Примеры строк запросов
Событие onError возвращает следующие коды ошибок:
Обновление элемента: [svn]ODBC.pas[/svn]
Элемент 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
(комментарии к статье еще не добавлены)