Меню сайта
Мини-чат
Чтобы добавить сообщение, необходимо авторизоваться.
Главная » Статьи » Не стандартные примеры на Delphi » Базы Данных

Простой пример работы с базой данных из 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, 'Васек Трубачев');

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

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

- Steve Schafer 

Категория: Базы Данных | Добавил: DelphiAiX (20.05.2012)
Просмотров: 622 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]