Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_Курсов (КН)_з_прикладом!.doc
Скачиваний:
7
Добавлен:
20.11.2019
Размер:
7.21 Mб
Скачать

Програмний код форми модуля даних

interface

uses

SysUtils, Classes, DB, DBTables;

type

TdtmdlDataStore = class(TDataModule)

dtbsMain: TDatabase;

qryAnyLocal: TQuery;

private

public

function GenTablePrKey(const TableName:String):Integer;

procedure QueryCachedApplyUpdCommit(const Query:TQuery);

procedure QueryCachedRollback(const Query:TQuery);

function GetTableFieldValueAsString(TableName,FieldName:String;PrKey:Integer):String;

end;

var

dtmdlDataStore: TdtmdlDataStore;

implementation

{$R *.dfm}

function TdtmdlDataStore.GenTablePrKey;

begin

with qryAnyLocal do

begin

Close;

with SQL do

begin

Clear;

Add(Format('SELECT GEN_ID(%s_PRKEY_GEN,1)',[TableName]));

Add('FROM RDB$DATABASE');

end;

Open;

Result:=Fields[0].AsInteger;

Close;

end;

end;

procedure TdtmdlDataStore.QueryCachedApplyUpdCommit;

begin

with Query do if State in[dsInsert,dsEdit] then Post;

dtbsMain.StartTransaction;

try

Query.ApplyUpdates;

dtbsMain.Commit;

Query.CommitUpdates;

except

dtbsMain.Rollback;

raise;

end;

Query.Close;

end;

procedure TdtmdlDataStore.QueryCachedRollback;

begin

with Query do

begin

if State in[dsInsert,dsEdit] then Cancel;

CancelUpdates;

Close;

end;

end;

function TdtmdlDataStore.GetTableFieldValueAsString;

//var

// flgSaveTransact:Boolean;

begin

with qryAnyLocal do

begin

Close;

with SQL do

begin

Clear;

Add('SELECT '+FieldName);

Add('FROM '+TableName);

Add('WHERE PRKEY='+IntToStr(PrKey));

end;

Open;

Result:=Fields[0].AsString;

Close;

end;

end;

end.

Список літератури

1.

Пасічник В.В., Резніченко В.А. Організація баз даних та знань. – К.: Видавнича група BHV, 2006. – 384 c.

2.

Гери Хансен, Джеймс Хансен. Базы данных: разработка и управление: Пер. с англ. – М.: ЗАО “Издательство БИНОМ”, 1999. – 704 с.

3.

Горев А., Ахаян Р., Макашарипов С. Эффективная работа с СУБД. – СПб.: Питер, 1997 – 704 с.

4.

Каратыгин С., Тихонов А., Тихонова Л. Visual FoxPro 5. К вершинам мастерства. Полное руководство пользователя с примерами. – М.: Восточная книжная кампания, 1997. – 736 с.

5.

Атре Ш. Структурный подход к организации баз данных. – М.: Финансы и статистика, 1983. – 320 с.

6.

Бойко В.В., Савинков В.М. Проектирование баз данных информацион-ных систем. – М.: Финансы и статистика, 1989. – 351 с.

7.

Джексон Г. Проектирование реляционных баз данных для использо-вания с микроЭВМ. – М.: Мир, 1991. – 252 с.

8.

Кириллов В.В. Структуризованный язык запросов (SQL). – СПб.: ИТМО, 1994. – 80 с.

9.

Дейт К. Введение в системы баз данных. – К.: Диалектика, 1998. – 784 с.

10.

Мейер М. Теория реляционных баз данных. – М.: Мир, 1987. – 608 с.

11.

Цикритизис Д., Лоховски Ф. Модели данных. – М.: Финансы и статистика, 1985. – 344 с.

12.

Грабер М. Введение в SQL. – М.: “ЛОРИ”, 1996. – 381 с.

13.

Глушаков С.В., Ломотько Д.В. Базы данных. Учебный курс – Харьков: Фолио, 2000. – 504 с.

14.

Дунаев С.Б. Доступ к базам данных и техника работы в сети. Практические приёмы современного программирования. – М.: ДИАЛОГ-МИФИ, 1999. ­­­­­­­­­­­­­­­­­­–­­ 416 с.

15.

Базиян М. и др. Использование Visual FoxPro 6. Специальное издание: Пер. с англ. – М.: Издательский дом “Вильямс”, 1999. – 928 с.

16.

Фаронов В.В. Программирование баз данных в Delphi 7. Учебный курс. – СПб.: Питер, 2006. – 464 с.

56