RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

6.5 Пакет TmySQL 1.0.0.99XXXX

6.5.1 Введение

TmySQL представляет собой набор классов, которые могут использоваться в delphi наряду с файлом libmysql.dll. Это альтернативный интерфейс, заменяющий собой описанный выше.

6.5.2 Установка

Просто распакуйте архив в любой удобный Вам каталог и включите его в соответствующий проект для Delphi.

Требуемый файл libmysql.dll включен в архив (Version 3.22.14-gamma, ее стоит заменить более свежей).

6.5.3 Интерфейс

unit MySql;

interface
uses classes, dialogs, sysutils;

type
  TField = class
  public
    Name: String;
    FieldType: String;
    Constructor Create(aName: String);
  end;

  TFields = class
  public
    Constructor Create(res: pmysql_res);
    Destructor Destroy; override;
    Function Count: Integer;
    Property Fields[Index: Integer]: TField read getField; default;
    Procedure Add(Value: TField);
  end;

  TTable = class
  public
    Name: String;
    Fields: TFields;
    Constructor Create(aMySql: pmysql; aName: String);
    Destructor Destroy; override;
  end;

  TTables = class
  public
    Constructor Create(aMySql: pmysql; aName: String);
    Destructor Destroy; override;
    Function Count: Integer;
    Property Tables[Index: Integer]: TTable read getTable; default;
    Procedure Add(Value: TTable);
  end;

  TDatabase = class
  public
    Name: String;
    Selected: Boolean;
    Tables: TTables;
    Constructor Create(aMySql: pmysql; aName: String);
    Destructor Destroy; override;
    Function Select: Boolean;
  end;

  TDatabases = class
  public
    Constructor Create(aMySql: pmysql);
    Destructor Destroy; override;
    Function Count: Integer;
    Property Databases[Index: Integer]: TDatabase
             read getDatabase; default;
    Procedure Add(Value: TDatabase);
  end;

  TRow = class
  public
    Constructor Create(aRow: TStringList);
    Destructor Destroy; override;
    Function Count: Integer;
    Property Databases[Index: Integer]: String read getValue; default;
    Procedure Add(Value: String);
  end;

  TRows = class
  public
    Constructor Create(res: pmysql_res; Count: Integer);
    Destructor Destroy; override;
    Function Count: Integer;
    Property Rows[Index: Integer]: TRow read getRow; default;
    Procedure Add(Value: TRow);
  end;

  TResult = class
  public
    Rows: TRows;
    Fields: TFields;
    AffectedRows: Integer;
    Constructor Create(res: pmysql_res; aMySql: pmysql);
    Destructor Destroy; override;
    Function lastError: String;
  end;

  TMySql = class
  public
    class function ClientVersion: String;
    constructor CreateConnect(aHost, aUser, aPassword: String;
                              aPort: Integer);
    destructor Destroy; override;
    function Connect: Boolean;
    function Disconnect: Boolean;
    function Connected: boolean;
    Property Name: String read getName write setName;
    Property Host: String read getHost write setHost;
    Property User: String read getUser write setUser;
    Property Password: String read getPassword write setPassword;
    Property Port: Integer read getPort write setPort;
    function getVersion: String;
    function getHostInfo: String;
    function getProtocolVersion: Integer;
    function getThreadId: Longint;
    function getStat: String;
    function getProcesses: TResult;
    function getDatabases: TDatabases;
    function Query(sql: String): TResult;
    function SelectDb(d: String): Boolean;
    function CreateDb(name: String): Boolean;
    function DeleteDb(name: String): Boolean;
    function RefreshGrants: Boolean;
  end;

6.5.4 Использование

Единственный класс, который должен когда-либо создаваться пользователем: TmySQL. Другие будут созданы и разрушены автоматически.

Чтобы создать TmySQL, используйте Create или CreateConnect, который пробует соединиться сразу же.

TmySQL.getDatabases возвращает: TDatabases, TDatabase, TTables, TTable, TFields, TField.

TmySQL.Query и TmySQL.getProcesses возвращают: TResult, TFields, TField, TRows, TRow, String.

6.5.5 Copyright и распространение

Эта программа имеет статус freeware, for personal use.

Для коммерческого использования пакет стоит US$ 20 за лицензию. К тому же, к ней будут приложены все исходные тексты интерфейсного пакета.

С разработчиком можно связаться по адресу:

Hillware I/S
Dennis Thrys°e
Solvangsvej 6, st, th
DK-9000 Aalborg
<qabi@mindless.com>
http://members.xoom.com/qabi

This product is:
Copyright о 1999 by Hillware I/S, Dennis Thrysøe

Поиск

 

Найди своих коллег!