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



Автор: Steve Schafer

Это простейший 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, 'Васек Трубачев');

и это классно работает.

Поскольку в DLL вы используете BDE, изучите текущие замечания относительно его использования в файле README.TXT.





Похожие по теме исходники

Примеры работы с БД

Примеры оформления DBGrid

Пример использования DBGrid

График работы

 

Экспорт баз данных в Excel

База данных "Книжный магазин"

База данных Видеофильмов

База данных "Школа"

 

База данных без BDE

База данных студентов

Фильтрование данных

Pevrica (сжатие данных)

 

DLL Form

DLL in Resources

DLL Injector




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте