Доступ к данным через OLE DB

advertisement
Доступ к данным через OLE DB
1. Класс «OLEDBData»
Данный класс предназначен для осуществления подключения к источнику данных, с
использованием провайдера OLE DB, и создания команд в контексте данного
подключения. Экземпляр класса создается явным образом – функцией СоздатьОбъект().
Подключение к базам данных 1С формата DBF/SQL возможно только в разделенном
режиме.
 Connect(стрСтрока) / Соединение(стрСтрока) – устанавливает подключение с
указанным источником. В случае успешного подключения возвращает 1, иначе 0.
Может вызвать исключение с описанием проблемы.
+Параметры:
-стрСтрока (Строка) – строка соединения формата OLE DB.
Пример: oledb.Connect("Provider=VFPOLEDB.1;Deleted=Yes;Data Source=" +
КаталогИБ() + ";Mode=ReadWrite;Extended Properties="";User
ID="";Password="";Mask Password=False;Collating Sequence=RUSSIAN;DSN=""");

CreateCommand() / СоздатьКоманду() – возвращает экземпляр класса
«OLEDBCommand», в контексте которого будут выполняться sql-инструкций.

Close() / Закрыть() – закрывает текущее подключение.
2. Класс «OLEDBCommand»
Данный класс предназначен для получения данных от провайдера и манипулирования
данными. Класс создается неявно (не может быть создан), а при помощи метода
СоздатьКоманду().
В тексте sql-выражений допускается использование метаимен, которые транслируются
в реальные имена таблиц, полей (см. спецификацию метаимен в Приложении А).
Так же возможно использование типизирующего псевдонима.
Формат типизирующего псевдонима:
[<ИмяПоля> $<Тип1С>], где ИмяПоля – имя, которое будет доступно для обращения,
Тип1С – строка представляющая тип 1С.
Пример:
SELECT
SPR.ID as [Элемент $Справочник.Номенклатура]
FROM
$Справочник.Номенклатура as SPR

Debug(чФлаг) / Отладка(чФлаг) – включает/отключает режим отладки sqlвыражения. При включенной отладке транслированное в реальные имена sqlвыражение будет выводиться в окно сообщений. По умолчанию класс находится в
режиме с выключенной отладкой.
+Параметры:
-чФлаг (Число) – 1 = включить отладку, 0 = отключить отладку.

Execute(стрSQL) / Выполнить(стрSQL) – выполняет sql-выражение (вида INSERT,
UPDATE, DELETE) и возвращает количество обработанных строк. Метод может
вызвать исключение с описанием ошибки
+Параметры:
-стрSQL (Строка) – строка, содержащая sql-выражение.

ExecuteStatement(стрSQL) / ВыполнитьИнструкцию(стрSQL) – выполняет sqlзапрос и возвращает результат в виде Таблицы значений. Если результат запроса
пустой, то возвращается Таблица значений с типизированными колонками. Метод
может вызвать исключение с описание ошибки.
+Параметры:
-стрSQL(Строка) – строка, содержащая sql-запрос.

Close() / Закрыть() – закрывает команду. Уничтожает объект класса
«OLEDBCommand».
SetTextParam(стрName, нVal) / УстановитьТекстовыйПараметр() –
устанавливает текстовый параметр. Необходимо вызывать метод до передачи
текста запроса.
+Параметры:
-стрName (Строка) – имя текстового параметра.
-нVal (Неопределенный) – значение текстового параметра.


Приложение: OLEDB
Преобразование типов данных OLE DB к типам 1С:
Прим.
Число
Тип 1С
Дата
Строка
Тип OLE DB
DBTYPE_NUMERIC
DBTYPE_I2
DBTYPE_I4
DBTYPE_R4
DBTYPE_R8
DBTYPE_CY
DBTYPE_DECIMAL
DBTYPE_UI1
DBTYPE_I1
DBTYPE_UI2
DBTYPE_UI4
DBTYPE_I8
DBTYPE_UI8
DBTYPE_BOOL
DBTYPE_DBDATE
DBTYPE_DBTIMESTAMP
DBTYPE_WSTR
DBTYPE_EMPTY
DBTYPE_NULL
DBTYPE_DATE
DBTYPE_BSTR
DBTYPE_IDISPATCH
DBTYPE_ERROR
DBTYPE_VARIANT
DBTYPE_IUNKNOWN
DBTYPE_ARRAY
DBTYPE_BYREF
С обрезанием времени
DBTYPE_GUID
DBTYPE_VECTOR
DBTYPE_RESERVED
DBTYPE_BYTES
DBTYPE_STR
DBTYPE_UDT
DBTYPE_DBTIME
Download