Kitobni o'qish: «Базы данных на Delphi 7»

Shrift:

ЛЕКЦИЯ № 1

1. СОЗДАНИЕ ПО НА ОСНОВЕ БАЗ ДАННЫХ В DELPHI

Программирование баз данных – очень большой и серьезный раздел самого что ни на есть практического программирования, многие программисты большую часть своего времени тратят именно на проектирование баз данных и разработку приложений, работающих с ними. Это неудивительно – в настоящее время каждая государственная организация, каждая фирма или крупная корпорация имеют рабочие места с компьютерами. Имеется масса данных, которые нужно не только сохранить, но и обработать, получить комплексные отчеты. Без баз данных сегодня не обойтись. А завтра они будут еще нужней.

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

При написании программ работы с базами данных (БД) на «Делфи» обычно используется метод доступа через BDE – систему. BDE – система представляет из себя набор драйверов, связывающих прикладную программу на «Делфи» с физическими файлами БД.

В «Делфи» понятие «таблица данных» и «база данных» различаются. Таблицей называется совокупность данных, нормализованных в табличную форму. Примером таблиц служат классические БД типа FoxPro и DBase. База данных – это файл, содержащий в себе несколько таблиц, которые имеют, как правило, внутренние взаимосвязи по ключевым полям. Базы данных используются в крупных промышленных СУБД типа «ORACLE» и других клиент – серверных системах.

Для ознакомления с программированием баз данных будем пользоваться таблицами типа DBase и FoxPro. Для начала любой работы с БД из под «Делфи» необходимо настроить BDE – систему. Для этого служит специальная программа «BDE Administrator». Для создания таблиц и наполнения их данными можно воспользоваться программой «DataBase Desktop» из установленного комплекта «Делфи».

2. ПРОСТЕЙШАЯ ПРОГРАММА

Для создания простейшей программы понадобится одна форма, не визуальные компоненты «DataSource» и «Table» из вкладки «Data Access», и визуальные компоненты «DBGrid» и «DBGrid» из вкладки «Data Controls». Расположите компоненты на форме как показано на рис.1.

Рис. 1

Не визуальный компонент «Table» предназначен для непосредственного доступа к таблице данных через BDE – систему. Визуальный компонент «DBGrid» служит для просмотра/редактирования записей в таблице данных, компонент «DBNavigator» служит для перемещения (навигации) по таблице данных. Не визуальный компонент «DataSource» служит посредником между компонентом «Table» и всеми визуальными компонентами.

Программная часть программы состоит из двух обработчиков событий «OnActivate» и «OnClose» для формы. Ниже приведен исходный текст данных обработчиков.

procedure TForm1.FormActivate(Sender: TObject);

begin

try { Установка защиты на операторы }

  Table1.DatabaseName:='c:\uoo\dbf'; { Установка пути к таблице данных }

  Table1.TableName:='u2_spec.dbf'; { Указание имени файла таблицы данных с расширением }

  DataSource1.DataSet:=Table1; { Связуем компонент Table1 с компонентом DataSource1 }

  DBGrid1.DataSource:=DataSource1; { Связуем компонент DBGrid1 с компонентом DataSource1 }

  DBNavigator1.DataSource:=DataSource1; { Связуем компонент DBNavigator1 с компонентом DataSource1 }

  if not Table1.active then Table1.Open; { Если таблица еще не открыта, то открыть ее }

except { Если произошла ошибка при открытии таблицы данных, то выдать сообщение }

  showmessage('Error !');

end;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin { Если таблица данных открыта, то закрыть ее }

try if Table1.active then Table1.Close; except end;

end;


ЛЕКЦИЯ № 2

1. МЕТОДЫ И СВОЙСТВА КОМПОНЕНТ ДОСТУПА К ТАБЛИЦАМ ДАННЫХ

Компонент “TTable” служит для непосредственной связи с базой данных (таблицей). Данный компонент имеет ряд основных методов:

Open – открытие базы данных

Close – закрытие базы данных

Refresh (для BDE) / Requery (для ADO) – обновление базы данных с диска


Edit – перевод БД в режим редактирования текущей записи

Post – запоминание изменений для редактируемой текущей записи (вызывается после метода «Edit»)

Cancel – отмена изменений для редактируемой текущей записи (вызывается после метода «Edit», если нужно отменить изменения)


Insert – вставка новой пустой записи в БД

Append – добавление в конец новой пустой записи в БД

Delete – удаление текущей записи из БД

EmptyTable – удаление всех данных в таблице

DeleteTable – удаление БД с диска


First – переход на первую запись БД

Last – переход на последнюю запись БД

Next – переход на следующую запись БД

Prior – переход на предыдущую запись БД

MoveBy (-10) – переход на -10 записей БД (можно на любой целое число до начала или конца БД)


DisableControls – запретить отображение значений из БД во всех связанных с ней визуальных компонентах

EnableControls – разрешить отображение значений из БД во всех связанных с ней визуальных компонентах


Компонент “TTable” имеет ряд основных свойств:

Active – если «True», то база данных открыта

RecNo – выдает номер текущей записи БД

RecordCount – выдает количество записей в БД

FieldValues – доступ к значению поля БД

Modified – если «True», то текущая запись была изменена

Bof – если «True», то текущая запись – первая

Eof – если «True», то текущая запись – последняя


ЛЕКЦИЯ № 3

1. КОМПОНЕНТЫ ОТОБРАЖЕНИЯ ЗАПИСЕЙ БД


Компонент “DBEdit” служит для отображения и изменения значения одного конкретного поля текущей записи базы данных. Основные свойства этого компонента:

DataField := ‘CODE’; // Имя поля БД для отображения

DataSource := DataSource1; // Имя компонента типа “ DataSource” для связи с БД


 Компонент “DBText” служит только для отображения значения одного конкретного поля текущей записи базы данных. Основные свойства этого компонента:

DataField := ‘CODE’; // Имя поля БД для отображения

DataSource := DataSource1; // Имя компонента типа “ DataSource” для связи с БД

Компонент “DBMemo” служит для отображения значения одного конкретного memo-поля для текущей записи БД. . Основные свойства этого компонента:

DataField := ‘CODE’; // Имя поля БД для отображения

DataSource := DataSource1; // Имя компонента типа “ DataSource” для связи с БД

Компонент “DBImage” служит для отображения значения одного конкретного Image-поля для текущей записи БД. Компонент поддерживает только «bmp» формат. Основные свойства компонент:

DataField := ‘CODE’; // Имя поля БД для отображения

DataSource := DataSource1; // Имя компонента типа “ DataSource” для связи с БД

Для “DBImage”:

Stretch := true; // Включение режима масштабирования рисунка


procedure TForm1.N1Click(Sender: TObject);

{ Скопировать картинку из таблицы данных в буфер обмена }

begin

  DBImage1.CopyToClipboard;

end;


procedure TForm1.N2Click(Sender: TObject);

{ Вставить картинку из буфера обмена в поле таблицы данных }

begin

  DBImage1.PasteFromClipboard;

end;


procedure TForm1.N3Click(Sender: TObject);

{ Загрузить картинку из файла в таблицу данных }

begin

  if opendialog1.Execute=true then begin

    try ADOTable1.edit; except end;

    DBImage1.Picture.LoadFromFile(OpenDialog1.FileName);

    try ADOTable1.post; except end;

  end;

end;


procedure TForm1.N4Click(Sender: TObject);

{ Сохранить картинку из таблицы данных в файл }

begin

  if savedialog1.Execute=true then

    DBImage1.Picture.SaveToFile(SaveDialog1.FileName);

end;


procedure TForm1.Button3Click(Sender: TObject);

{ Удаление картинки из базы }

begin

  try ADOTable1.Edit;

  ADOTable1['Oblochka']:=null;

  ADOTable1.Post; except end;

end;



Компонент “DBLookupComboBox” служит для выбора конкретной записи БД по значению из конкретного поля базы данных. Данный компонент представляет собой выпадающий список с перечнем значений поля БД для всех записей:

KeyField := ‘CODE’; // Имя поля БД для отображения

ListSource := DataSource1; // Имя компонента типа “ DataSource” для связи с БД


Компонент “DBLookupListBox” служит для выбора конкретной записи БД по значению из конкретного поля базы данных. Данный компонент представляет собой прокручиваемый список с перечнем значений поля БД для всех записей:

KeyField := ‘CODE’; // Имя поля БД для отображения

ListSource := DataSource1; // Имя компонента типа “ DataSource” для связи с БД


Компонент “DBGrid” служит для отображения значения всех записей и полей БД. Основные свойства этого компонента:

DataSource := DataSource1; // Имя компонента типа “ DataSource” для связи с БД



Yosh cheklamasi:
12+
Litresda chiqarilgan sana:
11 iyun 2021
Yozilgan sana:
2012
Hajm:
39 Sahifa 16 illyustratsiayalar
Mualliflik huquqi egasi:
Автор
Yuklab olish formati:
Matn
O'rtacha reyting 5, 3 ta baholash asosida
Matn, audio format mavjud
O'rtacha reyting 4,2, 67 ta baholash asosida
Matn, audio format mavjud
O'rtacha reyting 4,1, 104 ta baholash asosida
Matn, audio format mavjud
O'rtacha reyting 4,5, 44 ta baholash asosida