Difference between revisions of "ExternalDBase.ExecuteInternalFunction"
(Created page with "{{infobox function |name=ExecuteInternalFunction |object=Объект базы данных |caption=Исполнение функции в контексте текуще...") |
m (1 revision imported) |
(No difference)
|
Latest revision as of 07:50, 7 February 2021
ExecuteInternalFunction (Исполнение функции в контексте текущей внешней базы данных) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция позволяет получить выполнить функцию, не привязанную к объекту базы данных, однако, работающую с базой данных для текущей базы данных. Обычно функция используется для доступа к функциям работы с базой данных без указания объекта БД (к примеру, BeginTransaction и пр.), при этом функции, содержащие объекты (к примеру, MassLoadObjects) будут корректно работать и без использования этой функции. Также функция может использоваться для доступа к файлам удаленного сервера (см. пример ниже), это могут быть таблицы, исполняемыые файлы, картинки и пр. Функция не умеет работать с методами объектов, поэтому, если необходимо вызвать метод объекта в контексте внешней базы данных, можно воспользоваться функциями Exec или Eval.
Синтаксис
ExternalDBase.ExecuteInternalFunction:(<Имя функции (STRING)>,<Аргумент 1>,<Аргумент 2>...):<Результат выполнения функции>
Аргументы
<Имя функции (STRING)>
- Задает имя простой внутренней функции, не являющейся методом объекта.<Аргумент ?>
- (необязательный аргумент) - Задают аргументы исполняемой функции.
Возвращаемое значение
Возвращает результат, который возвратила исполняемая функция.
Примеры
//Пример вызова функций, для работы перечислений файлов в папке внешней базы данных. db2:=exdb.create(); db2.Connect("127.0.0.1:13521:TCPPassword","User","Password"); Путь:="Temp\"; аФС:=File.Create(); db2.ExecuteInternalFunction("Exec","аФС.FindOpen(Путь+""*.*"")"); While db2.ExecuteInternalFunction("Eval","аФС.FindNextFile()")<>"" Do Файл:=Trim(аФС.FileName); Message(Путь+Файл); EndDo;