Компоненты для работы с БД: TTable и TQuery
Категория реферата: Рефераты по информатике, программированию
Теги реферата: банки курсовая работа, доклад на тему язык
Добавил(а) на сайт: Венедикта.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата
Короче говоря, индекс передаваемый в Fields (начинающийся с нуля), и определяет номер поля к которому Вы получите доступ, т.е. первое поле - ноль, второе один, и так далее.
Если Вы хотите прочитать текущее содержание конкретного поля конкретной
записи, то используется свойство Fields или метод FieldsByName. Для того, чтобы найти значение первого поля записи, прочитайте первый элемент массива
Fields:
S := Fields[0].AsString;
Предположим, что первое поле в записи содержит номер заказчика, тогда
код, показанный выше, возвратил бы строку типа “1021”, “1031” или “2058”.
Если нужно получить доступ к этот переменный, как к числовой величине, тогда надо использовать AsInteger вместо AsString. Аналогично, свойство
Fields включают AsBoolean, AsFloat и AsDate.
Можно использовать функцию FieldsByName вместо свойства Fields:
S := FieldsByName(‘CustNo’).AsString;
Как показано в примерах выше, и FieldsByName, и Fields возвращают те же самые данные. Два различных синтаксиса используются исключительно для того, чтобы обеспечить программистов гибким и удобным набором инструментов для программного доступа к содержимому DataSet.
Свойство Fields позволяет выбрать тип результата Вот список доступных методов который можно найти в описании класса TField: property AsBoolean property AsFloat property AsInteger property AsString property AsDateTime
Всякий раз (когда это имеет смысл), Delphi сможет сделать
преобразования. Например, Delphi может преобразовывать поле Boolean к
Integer или Float, или поле Integer к String. Но не будет преобразовывать
String к Integer, хотя и может преобразовывать Float к Integer.
Основные свойства, методы и события НД
Свойства
|Свойство |Описание |
|property Active: Boolean; |Открывает/закрывает НД |
|property AutoCalcFields: Boolean; |Разрешает/запрещает возникновение |
| |события OnCalcFields |
|Type TBookmarksStr: String; |Определяет закладку на текущей записи. |
|property BookMark: TBookMarkStr; |К помеченной записи можно быстро |
| |перейти методом GotoBookMark |
|property CanModify: Boolean; |Указывает, может ли пользователь |
| |изменять НД |
|property Database: TDatabase; |Определяет компонент TDatabase, |
| |связанный с данным НД |
|property DatabaseName: String; |Содержи псевдоним базы данных |
|property DataSource: TDataSource; |Используется в потомках для указания |
| |детального НД, в связи один ко многим |
|property EOF: Boolean; |Содержит True, если курсор НД сместился|
| |за последнюю запись |
|property FieldCount: Integer; |Содержит количество полей в НД |
|property Fields: TFields; |Позволяет обратиться к полям по их |
| |индексу. Первое поле НД имеет индекс 0 |
|property FieldValues[const FieldName: |Позволяет обратиться к значениям полей |
|String]: Variant; |по имени поля |
|property Filter: String; |Задает фильтрующее выражение |
|property Filtered: Boolean; |Разрешает/запрещает фильтрацию записей |
| |НД |
|type TFilterOption = |Определяет условия фильтрации в |
|(foCaseInsensitive, |текстовых полях: foCaseInsensitive |
|foNoPartialCompare); TFilterOptions = |–учитывать регистр букв; |
|set of TFilterOption; |foNoPartialCompare – поиск на точное |
| |соответствие образцу |
|property Modifed: Boolean; |Содержит True, если текущая запись НД |
| |была изменена |
|property RecNo: LongInt; |Определяет номер текущей записи |
|property RecordCount: LongInt; |Содержит количество записей в текущем |
| |НД |
|type TDataSetState = (dsInactive, |Указывает состояние НД: |
|dsBrowse, dsEdit, dsInsert, dsSetKey, |dsInactive-закрыт , dsBrowse-просмотр, |
|dsCalcFields, dsFilter, dsNewValue, |dsEdit-редактирование, |
|dsOldValue, dsCurValue, dsBlockRead, |dsInsert-вставка, dsSetKey-поиск |
|dsInternalCalc) |записи, dsCalcFields-установка |
| |вычисляемых полей, dsFilter-фильтрация |
| |записей, dsNewValue-обновление, |
| |dsOldValue-обновление, |
| |dsCurValue-обновление, |
|property State: TDataSetState; |dsBlockRead-чтение блока записей, |
| |dsInternalCalc-обновление |
Методы:
|procedure Append; |Добавляет пустую запись в конец НД |
|procedure AppendRecord(const Values: |Добавляет новую запись, заполняет ее |
|Array of const); |поля значениями Values и отсылает ее в |
| |БД |
|procedure ApplyUpdates; |Записывает кэш обновления в таблицы БД |
|procedure Cancel; |Отменяет все изменения текущей записи, |
| |которые не были сохранены в БД |
|procedure CancelUpdates; |Очищает кэш обновления |
|procedure CheckBrowseMode; |Если НД находился в состоянии |
| |редактирования или вставки, вызывает |
| |метод Post для записи изменений в БД |
|procedure ClearFields; |Очищает все поля текущей записи |
|procedure Close; |Закрывает НД |
|procedure |Закрывает базу данных Database |
|CloseDatabase(Database:TDatabase); | |
|procedure CommitUpdates; |Очищает кэш после успешного обновления |
| |данных в БД |
|function ControlsDisabled: Boolean; |Возвращает True, если показ данных в |
| |визуальных компонентах временно |
| |запрещен методом DisableControls |
|procedure Delete; |Удаляет текущую запись |
|function DisableControls; |В целях улучшения производительности |
| |при навигации по НД временно запрещает |
| |смену данных в визуальных компонентах |
|procedure Edit; |Редактирует текущую запись |
|procedure EnableCointrols; |Отменяет действие метода |
| |DisableControls |
|function FieldByName(const FieldName: |Обеспечивает доступ к полю по его имени|
|String):TField; |FieldName |
|function FindField(const FieldName: |Ищет поле FieldName в НД и возвращает |
|String):TField; |ссылку на поле или NIL, если поле не |
| |найдено |
|function FindFirst: Boolean; |Пытается установить курсор на первую |
| |запись НД и возвращает True в случае |
| |успеха |
|function FindLast: Boolean; |Пытается установить курсор на последнюю|
| |запись НД и возвращает True в случае |
| |успеха |
|function FindNext: Boolean; |Пытается установить курсор на следующую|
| |запись НД и возвращает True в случае |
| |успеха |
|function FindPrior: Boolean; |Пытается установить курсор на |
| |предыдущую запись НД и возвращает True |
| |в случае успеха |
|function First: Boolean; |Устанавливает курсор на первую запись в|
| |НД |
|procedure FreeBookMark(BookMark: |Освобождает память связанную с |
|TBookMark); virtual; |закладкой BookMark |
|function GetBookMark: TBookMark; |Создает закладку на текущей записи и |
|virtual; |возвращает указатель на нее |
|procedure GotoBookMark(BookMark: |Обеспечивает возврат к записи, |
|TBookMark); |связанной с закладкой BookMark |
|procedure Insert; |Переводит НД в режим вставки записей |
|procedure InsertRecord(const Values: |Создает пустую запись, наполняет ее |
|array of const); |поля значениями Values и вставляет ее в|
| |НД |
|function isEmpty: Boolean; |Возвращает True, если в НД нет записей |
|procedure Last; |Устанавливает курсор на последнюю |
| |запись |
|function Locate(const KeyFields: |Ищет в полях перечисленных в параметре |
|String; const KeyValues: Variant; |KeyFields, значения, указанные в |
|Options: TLocateOptions): Boolean; |KeyValues при условиях, заданных |
| |параметром Options. Если запись |
| |найдена, делает ее текущей и возвращает|
| |True |
|function LookUp(const KeyFields: |Используется в детальных НД для поиска |
|String; const KeyValues: Variant; |в полях KeyFields значений KeyValues. |
|const ResultFields: String): Variant; |При успехе возвращает значение полей |
| |ResultFields |
|function MoveBy(Distance: |Перемещает курсор на Distance записей |
|Integer):Integer; |вверх или вниз относительно текущей |
| |записи |
|procedure Next; |Перемещает курсор к следующей записи |
|procedure Open; |Открывает НД |
|procedure Post; virtual; |Сохраняет вставленную или |
| |отредактированную запись в таблице БД |
|procedure Prior; |Перемещает курсор к предыдущей записи |
|procedure Refresh; |Обновляет НД данными из БД |
|procedure SetFields (const Values: |Устанавливает значения Values во все |
|array of const); |поля текущей записи |
События:
|type TDataSetNotifyEvent = procedure | |
|(DataSet: TDataSet) of object | |
|property AfterCancel: |Возникает сразу после отмены изменений в |
|TDataSetNotifyEvent; |текущей записи |
|property AfterClose: |Возникает сразу после закрытия НД |
|TDataSetNotifyEvent; | |
|property AfterDelete: |Возникает сразу после удаления текущей |
|TDataSetNotifyEvent; |записи |
|property AfterEdit: |Возникает сразу после перехода НД в режим |
|TDataSetNotifyEvent; |редактирования |
|property AfterInsert: |Возникает сразу после вставки записи |
|TDataSetNotifyEvent; | |
|property AfterOpen: |Возникает сразу после открытия НД |
|TDataSetNotifyEvent; | |
|property AfterPost: |Возникает сразу после выполнения метода |
|TDataSetNotifyEvent; |Post |
|property AfterScroll: |Возникает сразу после перехода к другой |
|TDataSetNotifyEvent; |записи |
|property BeforeCancel: |Возникает непосредственно перед отменой |
|TDataSetNotifyEvent; |изменений в текущей записи |
| |Возникает непосредственно перед закрытием |
|property BeforeClose: |НД |
|TDataSetNotifyEvent; | |
|property BeforeDelete: |Возникает непосредственно перед удалением |
|TDataSetNotifyEvent; |текущей записи |
|property BeforeEdit: |Возникает непосредственно перед переходом |
|TDataSetNotifyEvent; |НД в режим редактирования |
|property BeforeInsert: |Возникает непосредственно перед в режим |
|TDataSetNotifyEvent; |вставки |
|property BeforeOpen: |Возникает непосредственно перед открытием |
|TDataSetNotifyEvent; |НД |
|property BeforePost: |Возникает непосредственно перед |
|TDataSetNotifyEvent; |выполнением метода Post |
|property BeforeScroll: |Возникает непосредственно перед к новой |
|TDataSetNotifyEvent; |записи |
|property OnCalcFields: |Возникает при необходимости |
|TDataSetNotifyEvent; |переопределения вычисляемых полей |
4. Обзор компонента 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’;
Рекомендуем скачать другие рефераты по теме: республика реферат, решебники за 8 класс.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата