Курсовик по базам данных и СУБД. Для отдыхающих и продавцов всякой всячины Создание таблицы Access
Скачать 243.03 Kb.
|
© Маслянкин В.И. Для отдыхающих и продавцов всякой всячины Создание таблицы Access После создания базы Вы попадаете в режим конструктора таблицы: Перейдите в режим конструктора - кнопка «Режимы»: При этом будет предложено задать (поменять) имя таблицы. Можно оставить «Таблица1», можно поменять, например «Студенты». Не стоит называть таблицу «table» (это имя использует Embarcadero) или включать в имя пробел, используйте подчеркивание. Вместо «Студенты прогульщики» назовите таблицу «Студенты_прогульщики». Задайте имя поля (столбец) и тип данных, хранящихся в этом столбце: Замечание, для текстовых полей измените размер поля. По умолчанию 255, задайте поменьше, например 25. Это значение будет использовано для задания ширины столбца в Embarcadero Задайте имена (без пробелов) и типы всех нужных полей. Например: Повторно нажмите кнопку «Режим» и вернитесь в режим таблицы (заполнение): Потребуется подтвердить сохранение структуры таблицы. Заполните нужное количество записей, например: Сохраните - «Save As…» в формате Access 2000 или 2002-2003 (тип файла .mdb). Тип файла accdb не понимает не только Embarcadero, но и родное MICROSOFT Visual Studio !!! Напоминание: В названии таблицы и именах столбцов не допускайте пробелов Работа с локальной базой данных В Embarcadero предусмотрены различные способы подключения к базам данных различных типов и, соответственно, множество компонентов, поддерживающих подобные операции. Ниже рассматривается один из самых простых способов, рассчитанный на категории граждан, указанных в заголовке. Создайте стандартный проект типа vcl Forms Application. На форму поместим не визуальный компонент ADOTable из группы dbGo. Не визуальные компоненты применяются для добавления соответствующих объектов в класс формы (что автоматически происходит при помещении любого компонента мышкой на форму), но не отображаются во время исполнения программы. На этапе проектирования можно задать только их место на форме, что, в общем-то, не важно. При этом они отображаются на форме в виде пиктограммы стандартного размера. Подключение требуется проводить при закрытой БД Accesss Прежде задайте строку подключения, используя свойство компонента Connection String; Для этого нажмите значок вызова мастера Впрочем, особо продвинутые граждане могут ввести эту строку непосредственно в поле. 1-й шаг: Выберите «Использовать строку подключения» и нажмите кнопку «Build». 2-й шаг: Выберите необходимого провайдера - Microsoft Jet 4.0 OLE DB Provider и нажмите кнопку «Далее»: 3-й шаг: В поле «Выберите или введите имя данных». Выберите нужный файл - нажмите кнопку . Нажмите кнопку «Проверить подключение». Модальное окно Означает, что соединение корректно. Подключение требуется проводить при закрытой БД Accesss Нажмите OK - OK - OK и вернитесь в режим проектирования. После создания строки подключения нужно выбрать требуемую таблицу. Для этого раскройте список свойства Table Name компонента ADOTable и выберите одну из доступных таблиц. Далее задайте свойство Active равным значению true. Таким образом, требуется задать три свойства компонента ADOTable в указанном порядке: Connection String Table Name Active Теперь подключите не визуальный компонент Data Source из группы Data Access и задайте его свойство Data Set, выбрав из списка наш компонент ADOTable1. Теперь поместите на форму еще два компонента: DBGrid (таблица) и DBNavigator (из группы Data Control) и подключите их - задайте для них свойства Data Source из списка равным доступному источнику данных - DataSource1. Если все предыдущие этапы были выполнены правильно и подключение активно, в компоненте будут отображаться все ваши записи из выбранной таблицы Accesss. Настройте DBNavigator - уберите лишние кнопки, поскольку при активном подключении вы работаете непосредственно с базой данных, а не с ее копией и все изменения заносятся непосредственно в файл: В результате получим работоспособную программу. Обратите внимание, что при добавлении новой записи (кнопка «плюс») запись не будет создана до тех пор, рока не заполонено хотя бы одно поле. Добавьте кнопку «Сортировать». Создайте функцию, обрабатывающую нажатие на эту кнопку и введите код: ADOTable1 -> Sort = "имя_поля DESC"; // или ASC где DESC означает сортировку по убыванию, ASC - по возрастанию. Например: ADOTable1 -> Sort = "ФИО DESC"; Добавьте кнопку «Фильтр», создайте функцию и напишите код: ADOTable1 -> Filter = "имя_поля условие значение"; Например, если значение берется из редактируемого поля Edit1: AnsiString s = Edit1-> Text; ADOTable1 -> Filter = "Оценка > " + s; // знак операции окаймлен пробелами ADOTable1 -> Filtered = true; // включить или, можно из модального окна InputBox (создавать не требуется, как и ShowMessage): AnsiString s = InputBox("заголовок","оценка больше","1"); где параметр «значение» задается символьной строкой и значение функции InputBox так же является строкой. Модальное окно имеет вид: Отмена фильтра не требует задавать пустое свойство Filter. Требуется задать: ADOTable1 -> Filtered = false; // отключить Замечание: При фильтрации по текстовому полю значение фильтрации необходимо взять в кавычки, например с помощью функции QuotedStr: ADOTable1 -> Filter = "ФИО = " + QuotedStr( s ); |