Обзор компонента TTable

Обзор компонента TTable. Так как компонент TTable является наследником класса TDataSet, он наследует все его свойства, методы и события. Он служит для работы с таблицами БД. Следующие методы позволяют изменять данные, связанные с TTable procedure Append procedure Insert procedure Cancel procedure Delete procedure Edit procedure Post Все эти методы - часть TDataSet, они унаследованы и используются TTable и TQuery. Всякий раз, когда нужно изменить данные, необходимо сначала перевести DataSet в режим редактирования или вставки.

Имеется типичная последовательность, которую можно бы использовать при изменении поля текущей записи Table1.Edit Table1.FieldByName CustName. AsString Fred Table1.Post Первая строка переводит БД в режим редактирования.

Следующая строка присваивает значение Fred полю CustName. Наконец, данные записываются на диск, когда вызывается Post. При использовании такого подхода, Вы всегда работаете с записями.

Сам факт перемещения к следующей записи автоматически сохраняет данные на диск. Например, следующий код будет иметь тот же самый эффект, что и код показанный выше, плюс этому будет перемещать курсор на следующую запись Table1.Edit Table1.FieldByName CustNo. AsInteger 1234 Table1.Next Общее правило, которому нужно следовать - всякий раз, когда курсор сдвигается с текущей записи, введенные данные будут записаны автоматически.

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

Существуют два метода, Append и Insert, который используются при добавлении новой записи в DataSet. Очевидно имеет больше смысла использовать Append для DataSets которые не индексированы, но Delphi не будет генерировать exception если используется Append на индексированной таблице.

Фактически, всегда можно использовать и Append, и Insert.

Пример добавления записи begin Table1.Insert Table1.FieldByNameName. AsString Иван Table1.FieldByNameFam. AsString Сидоров Table1.Post end Удаление записи Table1.Delete Процедура показанная здесь сначала переводит таблицу в режим вставки новая запись с незаполненными полями вставляется в текущую позицию dataset.

После вставки пустой записи, следующим этапом нужно назначить значения одному или большему количеству полей.

Существует, конечно, несколько различных путей присвоить эти значения.

В программе можно просто ввести информацию в новую запись через DBGrid. Или разместить на форме стандартную строку ввода TEdit и затем установить каждое поле равным значению, которое пользователь напечатал в этой строке Table1.FieldByName Name. AsString Edit1.Text Можно использовать компоненты, специально предназначенные для работы с данными в DataSet, например DBEdit, DBLabel и т.д. 5.