русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Работа с данными


Дата добавления: 2015-07-09; просмотров: 518; Нарушение авторских прав


Для работы с данными объект TTable имеет следующие методы:

· procedure Append;

· procedure Insert;

· procedure Cancel;

· procedure Delete;

· procedure Edit;

· procedure Post;

Все указанные методы являются методами TDataSet. Они унаследованы и используются объектами TTable и TQuery. Всякий раз, когда пользователь желает изменить данные, он должен сначала перевести DataSet в моду редактирования. Большинство элементов управления базами данных переводят DataSet в моду редактирования автоматически. Однако, если необходимо изменить TTable программно, пользователю придется использовать вышеуказанные функции.

Для изменения содержимого поля в текущей записи необходимо выполнить последовательность программных строк (пример 11).

Пример 11

Table1.Edit;

Table1.FieldByName(‘CustName’).AsString := ‘Client 1024’;

Table1.Post;

Первая строка программы переводит DataSet в режим редактирования. Вторая строка присваивает значение полю ‘CustName’. Третья строка обеспечивает запись данных на диск, путем вызова метода Post.

Другим способом сохранения записи на диске является перемещение к следующей записи после ее редактирования (пример 12).

Пример 12

Table1.Edit;

Table1.FieldByName(‘CustNo’).AsInteger := 1024;

Table1.Next;

На основании вышеизложенного, следует вывод, что всякий раз, когда выполняется перемещение с текущей записи на другую в режиме редактирования выполняется запись на диск. Это означает, что вызовы методов First, Next, Prior и Last завершаются методом Post, при условии, что объект DataSetнахотится в состоянии редактирования.

Для добавления и вставки новых записей в таблицу используются методы Appendи Insertсоответственно. Рассмотрим данные методы на следующем примере. Для демонстрации указанных методов необходимо разместить в форме компоненты Table, DataSource, DBGrid и три кнопки Button. Присвоим кнопкам соответствующие имена: InsertBtn, AppendBtn и DeleteBtn. Далее необходимо установить соединения между объектами DataSource1, Table1, DBGrid1, и связать объект Table1 с таблицей COUNTRY базы данных DBDEMOS(рис. 5). Для доступа к данным в период дизайна требуется установить свойство Active объекта Table1 в состояние true.



 

Расположение элементов управления в форме

Рис.5

 

Процедуры обработчиков событий OnClick кнопок, в нашем случае, будут иметь вид приведенный в примере 13.

Пример 13

procedure TForm1.InsertBtnClick(Sender: TObject);

Begin

Table1.Insert;

Table1.FieldByName('Name').AsString := 'Ukraine';

Table1.FieldByName('Capital').AsString := 'Kiev';

Table1.Post;

end;

procedure TForm1.AppendBtnClick(Sender: TObject);

Begin

Table1.Append;

Table1.FieldByName('Name').AsString := 'Ukraine';

Table1.FieldByName('Capital').AsString := 'Kiev';

Table1.Post;

end;

procedure TForm1.DeleteBtnClick(Sender: TObject);

Begin

Table1.Delete;

end;

 

Процедура TForm1.InsertBtnClick(Sender: TObject) переводит таблицу в режим вставки, то есть, создается новая запись с пустыми полями, которая вставляется в текущую позицию dataset. После вставки пустой записи, выполняется присвоение значений одному или нескольким полям, а затем вызывается метод Post. Аналогично функционирует обработчик события AppendBtnClick.

Существует несколько различных способов присвоения значений полям таблицы. В рассматриваемой программе пользователь мог бы просто ввести информацию в новую запись, используя возможности DBGrid. Также пользователь мог разместить в форме стандартное элемент ввода TEdit и присвоить каждому полю значение, которое он ввел в элемент ввода:

Table1.FieldByName(‘Name’).AsString := Edit1.Text;

 

Интересным моментом в рассматриваемом примере является то, что нажатие кнопки Insertдважды подряд автоматически вызывает исключительную ситуацию ‘Key Violation’, так как первое поле таблицы COUNTRYопредедено как певичный ключ. Таким образом, DataSet защищает базу данных от повторного присвоения одинакового имени.

Если после вызова методов Insert или Append, необходимо отказаться от вставки или добавления новой записи, то надо вызвать метод Cancel до метода Post.

 



<== предыдущая лекция | следующая лекция ==>
Поля таблицы | Использование SetKey для поиска записей в таблице


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.693 сек.