КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
План заняття. 1. Характеристика методів, які дозволяють програмно додавати, видаляти та редагувати записи набору даних
1. Характеристика методів, які дозволяють програмно додавати, видаляти та редагувати записи набору даних 2. Характеристика компоненту Table
Это занятие посвящено изучению методов, которые позволяют программно добавлять, удалять и редактировать записи набора данных. О возможностях визуального изменения набора данных при работе с такими компонентами, как DBGrid, говорилось выше. В главе 13 было рассказано, как пользователь может вручную добавить, удалить или отредактировать записи набора данных, используя для этих целей визуальные компоненты. Для выполнения подобных операций в качестве вспомогательного компонента может также использоваться навигатор DBNavigator. Чтобы набор данных можно было изменять программным образом, он должен быть модифицируем. Это определяется значением соответствующих свойств наборов данных. Для компонента Table возможность модификации задается присвоением свойству Readonly значения False (по умолчанию). Если данное свойство равно True, то любые изменения таблицы (как визуальные, так и программные) будут запрещены. Изменить значение этого свойства можно только при условии, что набор данных не активен в текущий момент времени. Другими словами, перед изменением свойства Readonly набор данных должен быть закрыт. Свойство CanModify (Boolean) используется для того, чтобы в ходе выполнения приложения проверить, можно ли модифицировать набор данных. Это свойство доступно только для чтения. Если оно имеет значение True, то набор данных можно модифицировать, в противном случае - модификация запрещена. Существует также возможность запретить автоматический переход в режим редактирования набора данных при работе пользователя с визуальными компонентами, такими, как DBGrid или DBEdit. Для этого необходимо установить значение False свойству AutoEdit (тип Boolean) источника данных DataSource. Метод Edit служит для перевода набора данных в режим редактирования. Метод Post записывает изменения, внесенные пользователем при редактировании. Данный метод автоматически вызывается при перемещении указателя текущей записи, например, с помощью использования методов First, Last, Next, Prior или MoveBy. Метод Cancel позволяет отменить изменения, сделанные при редактировании до того момента, пока они не были сохранены с помощью метода Post. Метод SetFields (const Values: array of const) используется для изменения значений всех или некоторых полей текущей записи. Параметр Values представляет собой массив значений, которые присваиваются полям текущей записи. Порядок заданных значений соответствует порядку полей в наборе данных.. Если количество значений, заданных параметром Values, меньше числа полей набора данных, то эти значения присваиваются первым полям, а остальные поля не изменяются. Если же количество заданных значений превышает число полей, то при выполнении данного метода будет сгенерирована исключительная ситуация. Чтобы не изменять значение какого-либо поля, ему необходимо присвоить значение nil. В этом случае прежнее значение поля будет сохранено без изменения. Следует различать значения nil и Null. Если вместо nil будет указано Null, то поле будет изменено и получит значение Null. Редактирование записи с помощью данного метода может выглядеть примерно так: Tablel.Edit; Tablel.SetFields('0284', 'Порошок стиральный', nil, 500); При выполнении вышеприведенного кода первому полю записи присваивается значение «0284», второму полю - «Порошок стиральный», третье поле не изменяется, а четвертое получает значение 500. После выполнения метода SetFields набор данных автоматически переводится в режим просмотра. Добавление записей имеет много общего с редактированием. Прежде всего, добавление новой записи может осуществляться только в 'том случае, если разрешена модификация набора данных. Подтверждение или отмена произведенных добавлений осуществляется путем применения методов Post или Cancel соответственно. Ниже приводятся методы, позволяющие добавить новую запись к набору данных. Метод Insert переводит набор данных в режим вставки и добавляет пустую запись в позицию, на которой находится указатель текущей записи. После вызова данного метода необходимо заполнить поля новой записи. Это осуществляется с помощью метода SetFields. Для сохранения сделанных изменений вызывается метод Post. Метод InsertRecord (const Values: array of const) вставляет новую запись в текущую позицию курсора и одновременно задает значения всех или некоторых ее полей. Методы Append и AppendRecord абсолютно аналогичны методам Insert и InsertRecord соответственно. Единственным отличием является то, что оба эти метода добавляют новую запись в конец набора данных, а не в позицию, на которую указывает курсор. Метод Delete позволяет удалить текущую запись из набора данных. Этот метод применим только к модифицируемым наборам данных. Использование некоторых из вышеприведенных методов будет продемонстрировано на следующем примере. Пример 14.2. Пусть необходимо создать приложение, которое позволяло бы производить программную модификацию таблицы БД, содержащей некую справочную информацию о различных животных. Для решения поставленной задачи, прежде всего, с помощью Database Desktop создается таблица, включающая такие поля: Название животного (Animal), Масса (Weight), Длина тела (Length). На втором шаге создается главная форма приложения, на которой размещаются соответствующие элементы управления (см. рис. 14.4).
Как видно из рис. 14.4, в верхней части формы расположен компонент DBGrid, в котором отображается содержимое таблицы БД. Ниже размещены три однострочных редактора Edit, в которые пользователь имеет возможность вводить новую информацию. Внизу формы находятся четыре кнопки. Кнопка Добавить обеспечивает добавление содержимого однострочных редакторов в таблицу anim.db. При этом обязательным условием является то, что должны быть введены все данные, а длину и массу тела животного необходимо задавать в числовом выражении. Если пользователь пытается добавить в список новую запись, а там уже имеются данные о таком животном, то выдается соответствующее сообщение и запись не добавляется. Следует обратить внимание на то, что запись добавляется в конец таблицы с целью иллюстрации использования метода Ар- pendRecord. Специально для того чтобы увидеть результат данного действия, индексирование в данной таблице не используется, и первичный ключ не задается, ибо в противном случае записи будут упорядочены и любая добавляемая запись будет тут же. отображаться в таблице в соответствии с порядком индексирования (следовательно, тот факт, что запись добавляется в конец таблицы, был бы вовсе не очевиден). Если же не задавать первичный ключ и не производить индексирование, то можно будет явным образом увидеть, что метод AppendRecord добавляет запись в конец таблицы. Кнопка Вставить обеспечивает вставку новой записи в текущую позицию указателя в таблице. Это позволяет проиллюстрировать использование метода InsertRecord и наглядно показать его отличие от метода AppendRecord. Увидеть это различие также возможно только в том случае, если в таблице не применяется индексирование записей. Если же используется какой-либо индекс, то для пользователя не будет заметна разница между использованием этих двух методов. С помощью кнопки Изменить можно изменить текущую запись в соответствии с данными, содержащимися в полях редакторов Edit. На изменение данных накладываются те же ограничения, что и на добавление, кроме одного исключения. Изменение производится только для текущей записи. При этом значение, записанное в поле редактора Editl (название животного), не учитывается, а просто производится изменение полей Weight и Length для той записи, на которую в текущий момент времени установлен указатель. Кнопка Удалить позволяет удалить текущую запись. Программную реализацию решения поставленной задачи можно видеть в листинге 14.1.
Данная программа не имеет большой практической ценности и носит иллюстративный характер с целью демонстрации использования некоторых методов, позволяющих модифицировать набор данных.
Контрольні питання 1. Надати характеристику методів, які дозволяють програмно додавати, видаляти та редагувати записи набору даних 2. Охарактеризувати компонент Table АУДИТОРНЕ ЗАНЯТТЯ ЗМІСТОВИЙ МОДУЛЬ 6: ПРОГРАМУВАННЯ З ГРАФАМИ ТЕМА 6.6: ОСНОВИ БАЗ ДАНИХ
Лекція №57 – Робота із зв’язаними таблицями
Дата добавления: 2014-12-25; Просмотров: 372; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |