Простой пример работы с базой данных из DLL

Это простейшая DLL, экспортирующая единственную функцию. Вызывающий ее оператор передает функции значение ключа и строку со значением. Функция открывает демонстрационную базу данных BIOLIFE, находит по ключу запись и добавляет строку после всех записей в поле Notes:

library Mydll;

uses
  DBTables;

function Modify(Key: Double; const Info: String): Boolean; export;
var
  Table: TTable;
  Stream: TBlobStream;
begin
  Table := TTable.Create(nil);
  Table.DatabaseName := 'D:\';
  Table.TableName := 'BIOLIFE';
  Table.TableType := ttParadox;
  Table.Open;
  if Table.FindKey([Key]) then begin
    Result := True;
    Table.Edit;
    Stream := TBlobStream.Create(TMemoField(Table.FieldByName('Notes')),
                                 bmReadWrite);
    Stream.Seek(0, 2);
    Stream.Write(Info[1], Length(Info));
    Stream.Free;
    Table.Post;
  end else Result := False;
  Table.Free;
end;

exports
  Modify;

begin
end.
Пример вызова из приложения:

function Modify(Key: Double; const Info: String): Boolean; far; external 'MYDLL';
  ...
  Modify(90200, 'Васек Трубачев');