Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Удаление Data Module: использование класса с методами AdoQuery и AdoExecute

Delphi , Базы данных , Модуль данных

Удаление Data Module и переход к использованию класса с методами AdoQuery и AdoExecute может быть полезным, если вам больше не нужны дизайнерские компоненты, которые обычно ассоциируются с Data Module. В этом случае можно создать отдельный класс, который будет содержать только код и методы, необходимые для работы с данными. Ниже приведен пример, как это можно сделать в Object Pascal (Delphi).

  1. Создайте новый файл с расширением .pas и назовите его, например, "MyDataClass.pas".
  2. Введите следующий код в файл:
unit MyDataClass;

interface

uses
  ADODB;

type
  TMyDataClass = class
  private
    FConnection: TADOConnection;
  public
    constructor Create;
    destructor Destroy; override;
    function AdoQuery(const sql: string): TADODataSet;
    procedure AdoExecute(const sql: string);
  end;

implementation

{ TMyDataClass }

constructor TMyDataClass.Create;
begin
  FConnection := TADOConnection.Create(nil);
  FConnection.ConnectionString := 'Provider=MSADO;Data Source=MyServer;Initial Catalog=MyDatabase;User ID=MyUser;Password=MyPassword;';
  FConnection.Open;
end;

destructor TMyDataClass.Destroy;
begin
  FConnection.Close;
  FConnection.Free;
  inherited;
end;

function TMyDataClass.AdoQuery(const sql: string): TADODataSet;
begin
  Result := TADODataSet.Create(nil);
  Result.Connection := FConnection;
  Result.CommandText := sql;
  Result.Open;
end;

procedure TMyDataClass.AdoExecute(const sql: string);
begin
  with TADOCommand.Create(nil) do
  try
    Connection := FConnection;
    CommandText := sql;
    Execute;
  finally
    Free;
  end;
end;

end.
  1. В данном примере создается класс TMyDataClass, который содержит поле FConnection типа TADOConnection и два публичных метода: AdoQuery и AdoExecute. Конструктор класса устанавливает строку подключения к базе данных и открывает соединение. Деструктор класса закрывает соединение и освобождает объект TADOConnection.
  2. Метод AdoQuery создает новый объект TADODataSet, устанавливает соединение и команду, а затем открывает набор данных.
  3. Метод AdoExecute создает новый объект TADOCommand, устанавливает соединение и команду, а затем выполняет команду.
  4. Чтобы использовать этот класс в вашем проекте, добавьте его в раздел "uses" в заголовочной части вашего основного модуля (например, в Unit1) и создайте экземпляр класса TMyDataClass в секции "initialization":
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, MyDataClass;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    FDataClass: TMyDataClass;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  FDataClass := TMyDataClass.Create;
end;

end.
  1. Теперь вы можете вызывать методы AdoQuery и AdoExecute через экземпляр класса FDataClass, например:
procedure TForm1.Button1Click(Sender: TObject);
begin
  FDataClass.AdoQuery('SELECT * FROM MyTable');
  FDataClass.AdoExecute('UPDATE MyTable SET MyField = ''NewValue'' WHERE MyId = 1');
end;

Таким образом, вы можете удалить Data Module из своего проекта и использовать отдельный класс для работы с данными через методы AdoQuery и AdoExecute. Это может упростить структуру вашего проекта и сделать его более гибким.

Создано по материалам из источника по ссылке.

Приведенный код демонстрирует, как создать отдельный класс `TMyDataClass` в Object Pascal (Delphi) для работы с данными базы данных с использованием компонентов `ADOQuery` и `ADOExecute`, не прибегая к использованию `Data Module`.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Модуль данных ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 09:24:37/0.0060050487518311/0