Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Сравнительная характеристика dBase и ParadoxСодержание книги
Поиск на нашем сайте
Практическая работа
Создание простейшего приложения для работы с таблицами данных. Выберите пункт главного меню Delphi Tools/Database Desktop для того, чтобы запустить программу Database Desktop, с помощью которого можно создавать таблицы, изменять их структуру и назначать им индексы. После запуска Database Desktop выберите меню File/New/Table, чтобы начать процесс создания новой таблицы. После выбора этой команды на экране появляется окно Create Table, в котором нужно выбрать формат (тип) таблицы (например, Paradox 7). После выбора формата таблицы появляется окно определения структуры таблицы БД.
В этом окне находятся следующие поля:
Каждая таблица должна иметь хотя бы одно поле. [Insert] – вставка поля; [Ctrl]+[Delete] – удаление поля (в окне определения и изменения структуры таблицы).
Определим поля, входящие в таблицу «Товары». Введите имя поля Tovar в столбец Field Name, в поле Type выберите тип поля Alpha и установите размер поля 20. Задайте для таблицы следующую структуру:
Для каждого поля можно определить требование обязательного его заполнения значением. Для этого, переходя от поля к полю, включайте переключатели Required Field. Другие поля служат для наложения ограничений назначение поля:
Отсутствия значения в одном из полей означает отсутствие ограничений на значение поля.
После определения структуры таблицы ее необходимо сохранить, нажав на кнопку Save as…,и в появившемся окне указать расположение таблицы на диске и задать ее имя. Сохраните созданную таблицу на диске под именем Tovar.db в папке Baza на рабочем диске. Закройте Database Desktop. Перейдите в главное окно Delphi. Подготовим форму для нашего приложения, с помощью которого можно перемещаться по записям таблицы БД, просматривать и редактировать поля, удалять записи из таблицы и вставлять новые. Разместите на форме компоненты Table, DataSource (п. к. DataAccess) и DBGrid, DBNavigator (п. к. DataControls), в окне инспектора объектов установите для них свойства:
Запустите программу и заполните созданную вами таблицу (10 записей, 11-я – пустая). Чтобы добавилась новая запись, установите курсор в последнем поле таблицы и нажмите [Tab] на клавиатуре. Закройте работающую программу и установите для компонента Table1 в свойстве Active значение False и сразу же значение True. В окне формы в компоненте DBGrid вы увидите записи.
Компонент DataSource1(источник данных) является связующим элементом между компонентами доступа к данным (Table1 – соединен с реальной таблицей БД) и визуальными компонентами отображения данных (DBGrid1 – отображает содержимое таблицы в виде сетки).
– компонент DBNavigator используется для управления набором данных. Свойство VisibleButtons типа TButtonSet – определяет состав видимых кнопок: – перейти к первой записи – к предыдущей – к следующей – к последней – вставить новую запись – удалить текущую запись – редактировать текущую запись – сохранить изменения записи – отменить изменения текущей записи – обновить информацию в БД Свойство ConfirmDelete типа Boolean – выдает на экран окно для подтверждения удаления записи (True – по умолчанию), = False – запись удаляется без подтверждения. Свойство Flat типа Boolean – управляет внешним видом кнопок =False – кнопки отображаются в объемном виде; =True – плоский вид кнопок. Свойство DataSource – связывает навигатор с набором данных. Самостоятельная работа Создайте таблицы, относящиеся к БД: § Автосалон; § Магазин «Мороженное»; § Музыкальная картотека; § Зоомагазин; § Записная книжка. Заполнить таблицы данными (10-12 записей) и сохранить в папке Baza на рабочем диске. Глава II. Наборы данных
Набор данных Таблицы БД располагаются на диске и являются физическими объектами. Для операций с данными, содержащимися в таблицах, используются наборы данных (НД). В терминах Delphi набор данных – это совокупность записей, взятых из одной или нескольких таблиц БД. НД является логической таблицей, с которой можно работать при выполнении приложения. Взаимодействие таблицы и НД напоминает взаимодействие физического файла и файловой переменной. В Delphi для работы с наборами данных таблиц применяются несколько компонент, но наиболее универсальным и часто используемыми являются НД Table и Query. Компонент Table представляет собой набор данных, который в некоторый момент времени может быть связан с одной таблицей БД. Связь между таблицей и компонентом Table устанавливается через его свойство TableName, который определяет имя таблицы. Для выполнения операций с НД используются два способа доступа к данным: навигационный – заключается в обработке каждой отдельной записи НД. При навигационном способе доступа каждый НД имеет невидимый указатель текущей записи, который определяет запись, с которой могут выполняться такие операции, как редактирование, удаление; реляционный – основан на обработке группы записей. При реляционном способе доступа для задания операций используются средства языка структурированных запросов – SQL (Structured Query Language). Практическая работа Создать приложение для просмотра и редактирования разных таблиц. Пользователь может выбирать таблицу, данные которой выводятся в сетке DBGrid1. Выбор осуществляется в диалоге открытия файла, который вызывается при нажатии на кнопку «Открыть другую таблицу». После выбора таблицы ее имя устанавливается в качестве значения свойства TableName набора данных Table1. При задании расположения БД программным способом НД предварительно необходимо закрыть (свойство Active = False). Расположите на форме компоненты, показанные на рисунке. В компоненте DBGrid должна отображаться таблица Tovar.db
Напишите обработчик события OnClick для кнопки «Открыть другую таблицу»: procedure TForm1.Button1Click(Sender: TObject); Begin OpenDialog1.Filter:= 'Таблицы (*.db;*.dbf) | *.db;*.dbf | Все файлы | *.*'; If OpenDialog1.Execute then Begin table1.Active:=false; table1.tablename:=Opendialog1.FileName; table1.Active:=true; end; end; Напишите обработчик события OnCreate для формы: procedure TForm1.FormCreate(Sender: TObject); Begin DataSource1.DataSet:=Table1; DBGrid1.DataSource:=DataSource1; end;
Запустите программу и нажмите на кнопку «Открыть другую таблицу». В появившемся диалоговом окне зайдите в папку Baza и двойным щелчком выберите любую таблицу. Самостоятельная работа Для таблиц формата dBase и Paradox записи, составляющие НД, нумеруются с 1. Чтобы определить номер текущей записи НД существует метод RecNo. Выполните следующие задания: 1. При щелчке по записям таблицы выведите в поле Edit номер записи, по которой щелкнули мышью. 2. Осуществите переход на запись с указанным в поле Edit номером.
Число записей, составляющих НД, определяет свойство RecordCount типа Longint. Это свойство доступно для чтения при выполнении приложения. Приведем пример, в котором производится перебор всех записей НД (Общая схема обработки всех записей НД): var i:integer; … Table1.First; //переход к первой записи НД for i:=1 to Table1.RecordCount do Begin //здесь можно расположить операторы, которые обрабатывают одну запись НД Table1.Next; //переход к следующей записи НД end; Режимы наборов данных
Наборы данных могут находиться в различных режимах. Текущий режим НД определяет свойство State. Оно доступно для чтения во время выполнения приложения и может быть использовано только для текущего режима. Для перевода данных в тот или иной режим применяются специальные методы. НД может находиться в одном из следующих режимов: § dsInactive – НД закрыт и неактивен, доступ к его данным невозможен. § dsBrowse – режим просмотра, в котором осуществляется перемещение по записям НД и просмотр данных. § dsEdit – редактирование текущей записи. § dsInsert – вставка новой записи. § dsSetKey – поиск записи, удовлетворяющей заданному критерию. § dsCalcField – выполняется расчет вычисляемых полей. § dsFilter – выполняется фильтрация записей. Связи между режимами наборов данных можно отобразить в виде схемы:
Практическая работа
Создадим приложение, работающее с таблицами данных. Реализуем добавление, удаление, изменение и сохранение записей в таблице. Поставьте на форму компоненты Table, DataSource, DBGrid для работы с таблицей Tovar.db. Свяжите их между собой. Поставьте 5 кнопок Button, заголовки которых будут соответственно «Добавить», «Изменить», «Запомнить», «Удалить», «Отменить». Опишем процедуры для каждой кнопки: procedure TForm1.Button1Click(Sender: TObject); Begin if Table1.State= dsBrowse then Table1.Insert; end;
procedure TForm1.Button2Click(Sender: TObject); Begin if Table1.State= dsBrowse then Table1.Edit; end;
procedure TForm1.Button3Click(Sender: TObject); Begin if Table1.State= dsBrowse then if MessageDlg ('Удалить запись?', mtConfirmation, [mbYes, mbNo],0)=mrYes then Table1.Delete; end;
procedure TForm1.Button4Click(Sender: TObject); Begin if Table1.State in [dsInsert, dsEdit] then Table1.Post; end; procedure TForm1.Button5Click(Sender: TObject); Begin if Table1.State in [dsInsert, dsEdit] then Table1.Cancel; end;
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-06-23; просмотров: 1125; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.200.180 (0.007 с.) |