Jul 29

Немного о создаваемых динамически псевдонимах. Часть 1

Грамотное использование псевдонима, именно для нашего доступа к базе данных, дает полную независимость программы от самого размещения данных в системе, а также дает возможность размещать программу работы с данными и еще и базу данных на полностью различных дисках компьютера, даже на сетевом диске

Но все же, для баз данных простих, хорошим решением будет размещение базы данных именно в автономном подкаталоге того каталога, находится в котором сама программа работы с этой базой данных.

Поэтому и программа сама работы с базой данных находится всегда "в курсе", где есть данные. При данном подходе отказаться легко можно от создания псевдонима с помощью BDE Administrator, так как эту задачу возложить можно на программку работы с самой базой данных.

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

Как пример сказанного выше, приведем вариант проги работы с базой данных под названием "Школа", которая использует для доступа к своей базе данных псевдоним, который создается динамически.

unit school3_;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, Db, DBTables, ExtCtrls, DBCtrls, StdCtrls;

type

TForm1 = class(TForm)

Table1: TTable; // это таблица (представлена полностью вся база данных)

Query1: TQuery; // это запрос (записи БД, который удовлетворяют критерии выбора)

DataSource1: TDataSource; // представляет собой источник данных - таблица либо же запрос

DBGrid1: TDBGrid; // таблица в которой отобраается БД либо итог выполнения самого запроса

DBNavigator1: TDBNavigator;

DBText1: TDBText;

Button1: TButton; // это кнопка запрос

Button2: TButton; // это кнопка Все записи

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

// простой щелчок на кнопке Запрос

procedure TForm1.Button1Click(Sender: TObject);

var

fam: string[30];

begin

fam := InputBox('Выборка нужной информации из БД',

'Укажите свою фамилию и после щелкните на OK.', '');

if fam <> '' // здесь пользователь ввел фамилию

then

begin

with form1.Query1 do begin

Close; // надо закрыть файл-итог выполнения предыдущего запроса

SQL.Clear; // нужно удалить сам текст предыдущего запроса

// здесь записываем в свойство SQL новый запрос

SQL.Add('SELECT Fam, Name, Class');

SQL.Add('FROM ":Школа:school.db"');

SQL.Add('WHERE');

SQL.Add('(Fam = "' + fam + '")');

SQL.Add('ORDER BY Name, Fam');

Open; // тут активизируем выполнение нашего запроса

end;

Продолжение в теме - Немного о создаваемых динамически псевдонимах. Часть 2

Спонсор поста: ищете на необьятных просторах Интернета уникальное програмное обеспечение компании Microsoft, созданное специально для учебных заведений? Обратите свой взор на продукт Microsoft Developer Network Academic Alliance (MSDN AA) - лицензионное ПО для учебных заведений. На сайте vetriks.ru всегда есть возможность msdn aa купить в любом возможном варианте!


Поделитесь вашими мыслями

Поддерживаемые теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>