рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Основные приемы работы с TDataSet

Работа сделанна в 2003 году

Основные приемы работы с TDataSet - Курсовая Работа, раздел Программирование, - 2003 год - Компоненты Delphi для работ с БД Основные Приемы Работы С Tdataset. Открытие И Закрытие Dataset Имеются Два Ра...

Основные приемы работы с TDataSet. Открытие и закрытие DataSet Имеются два различных способа открыть таблицу во время выполнения программы.

Можно написать следующую строку кода Table1.Open Или можно установить свойство Active равное True Table1.Active True Нет никакого различия между результатом производимым этими двумя операциями. Метод Open, однако, сам заканчивается установкой свойства Active в True, так что может быть даже чуть более эффективно использовать свойство Active напрямую.

Также, как имеются два способа открыть a таблицу, так и есть два способа закрыть ее. Самый простой способ просто вызывать Close Table1.Close Или можно написать Table1.Active False Навигация Перемещение по записям Большой набор методов и свойства TDataSet обеспечивает все, что нужно для доступа к любой конкретной записи внутри таблицы Обзор их функциональных возможностей описан ниже в таблице методов класса TDadaSet. TDataSet. BOF - read-only Boolean свойство, используется для проверки, находится ли курсор в начале таблицы.

Свойства BOF возвращает true в трех случаях После того, как файл был открыт После того, как вызвался метод TDataSet. First После того, как не выполнился вызов метода TDataSet. Prior. Первые два пункта - очевидны. Когда открывается таблица, Delphi помещает курсор на первую запись когда вызывается метод First, Delphi также перемещает курсор в начало таблицы. Третий пункт, однако, требует небольшого пояснения после того, как вызывался метод Prior несколько раз, курсор мог добраться до начала таблицы, и следующий вызов Prior будет неудачным - после этого BOF и будет возвращать True. Следующий код показывает самый общий пример использования Prior, когда курсор попадает к первой записи while not Table. Bof do Table1.Prior end Цикл будет продолжаться до тех пор, пока вызов Table1.Prior не сможет больше перемещать курсор на предыдущую запись в таблице. В этот момент BOF вернет True и программа выйдет из цикла.

Все сказанное относительно BOF также применимо и к EOF. Другими словами, код, приведенный ниже показывает простой способ пробежать по всем записям в a dataset Table1.First while not Table1.EOF do Table1.Next end EOF возвращает True в следующих трех случаях После того, как файл был открыт После того, как вызвался метод TDataSet. Last После того, как не выполнился вызов метода TDataSet. Next Единственная навигационная процедура, которая еще не упоминалась - MoveBy, которая позволяет переместиться на N записей вперед или назад в таблице.

Если необходимо переместиться на две записи вперед, то следует написать следующий оператор MoveBy2 или MoveBy-2 Prior и Next - это простые функции, которые вызывают MoveBy. При использовании этой функции необходимо всегда помнить, что DataSet - это изменяющиеся объекты, и запись, которая была пятой по счету в предыдущий момент, теперь может быть четвертой или шестой или вообще может быть удалена Поля В большинстве случаев, когда нужно получить доступ из программы к индивидуальные полям записи, можно использовать одно из следующих свойств или методов, каждый из которых принадлежат TDataSet property FieldsIndex Integer function FieldByNameconst FieldName string TField property FieldCount Свойство FieldCount возвращает число полей в текущей структуре записи.

Если необходимо программным путем прочитать имена полей, то используется свойство Fields для доступа к ним var S String begin S Fields0.FieldName end Короче говоря, индекс передаваемый в Fields начинающийся с нуля, и определяет номер поля к которому Вы получите доступ, т.е. первое поле - ноль, второе один, и так далее.

Если Вы хотите прочитать текущее Содержание конкретного поля конкретной записи, то используется свойство Fields или метод FieldsByName. Для того, чтобы найти значение первого поля записи, прочитайте первый элемент массива Fields S Fields0.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Разрешаетзапрещает возникновение события OnCalcFieldsType TBookmarksStr String property BookMark TBookMarkStrОпределяет закладку на текущей записи. К помеченной записи можно быстро перейти методом GotoBookMarkproperty CanModify BooleanУказывает, может ли пользователь изменять НД property Database TDatabaseОпределяет компонент TDatabase, связанный с данным НД property DatabaseName StringСодержи псевдоним базы данныхproperty DataSource TDataSourceИспользуется в потомках для указания детального НД, в связи один ко многимproperty EOF BooleanСодержит True, если курсор НД сместился за последнюю запись property FieldCount IntegerСодержит количество полей в НДproperty Fields TFieldsПозволяет обратиться к полям по их индексу. Первое поле НД имеет индекс 0property FieldValuesconst FieldName String VariantПозволяет обратиться к значениям полей по имени поляproperty Filter StringЗадает фильтрующее выражениеproperty Filtered BooleanРазрешаетзапрещает фильтрацию записей НДtype TFilterOption foCaseInsensitive, foNoPartialCompare TFilterOptions set of TFilterOption Определяет условия фильтрации в текстовых полях foCaseInsensitive учитывать регистр букв foNoPartialCompare поиск на точное соответствие образцуproperty Modifed BooleanСодержит True, если текущая запись НД была измененаproperty RecNo LongIntОпределяет номер текущей записиproperty RecordCount LongIntСодержит количество записей в текущем НДtype TDataSetState dsInactive, dsBrowse, dsEdit, dsInsert, dsSetKey, dsCalcFields, dsFilter, dsNewValue, dsOldValue, dsCurValue, dsBlockRead, dsInternalCalc property State TDataSetState Указывает состояние НД dsInactive-закрыт, dsBrowse-просмотр, dsEdit-редактирование, dsInsert-вставка, dsSetKey-поиск записи, dsCalcFields-установка вычисляемых полей, dsFilter-фильтрация записей, dsNewValue-обновление, dsOldValue-обновление, dsCurValue-обновление, dsBlockRead-чтение блока записей, dsInternalCalc-обновление Методы procedure AppendДобавляет пустую запись в конец НДprocedure AppendRecordconst Values Array of constДобавляет новую запись, заполняет ее поля значениями Values и отсылает ее в БДprocedure ApplyUpdatesЗаписывает кэш обновления в таблицы БДprocedure CancelОтменяет все изменения текущей записи, которые не были сохранены в БДprocedure CancelUpdatesОчищает кэш обновленияprocedure CheckBrowseModeЕсли НД находился в состоянии редактирования или вставки, вызывает метод Post для записи изменений в БДprocedure ClearFieldsОчищает все поля текущей записиprocedure CloseЗакрывает НДprocedure CloseDatabaseDatabaseTDatabaseЗакрывает базу данных Databaseprocedure CommitUpdatesОчищает кэш после успешного обновления данных в БДfunction ControlsDisabled BooleanВозвращает True, если показ данных в визуальных компонентах временно запрещен методом DisableControlsprocedure DeleteУдаляет текущую записьfunction DisableControlsВ целях улучшения производительности при навигации по НД временно запрещает смену данных в визуальных компонентахprocedure EditРедактирует текущую записьprocedure EnableCointrolsОтменяет действие метода DisableControls function FieldByNameconst FieldName StringTFieldОбеспечивает доступ к полю по его имени FieldNamefunction FindFieldconst FieldName StringTFieldИщет поле FieldName в НД и возвращает ссылку на поле или NIL, если поле не найдено function FindFirst BooleanПытается установить курсор на первую запись НД и возвращает True в случае успехаfunction FindLast BooleanПытается установить курсор на последнюю запись НД и возвращает True в случае успехаfunction FindNext BooleanПытается установить курсор на следующую запись НД и возвращает True в случае успехаfunction FindPrior BooleanПытается установить курсор на предыдущую запись НД и возвращает True в случае успехаfunction First BooleanУстанавливает курсор на первую запись в НДprocedure FreeBookMarkBookMark TBookMark virtualОсвобождает память связанную с закладкой BookMarkfunction GetBookMark TBookMark virtualСоздает закладку на текущей записи и возвращает указатель на нееprocedure GotoBookMarkBookMark TBookMarkОбеспечивает возврат к записи, связанной с закладкой BookMark procedure InsertПереводит НД в режим вставки записейprocedure InsertRecordconst Values array of constСоздает пустую запись, наполняет ее поля значениями Values и вставляет ее в НД function isEmpty BooleanВозвращает True, если в НД нет записейprocedure LastУстанавливает курсор на последнюю записьfunction Locateconst KeyFields String const KeyValues Variant Options TLocateOptions BooleanИщет в полях перечисленных в параметре KeyFields, значения, указанные в KeyValues при условиях, заданных параметром Options.

Если запись найдена, делает ее текущей и возвращает True function LookUpconst KeyFields String const KeyValues Variant const ResultFields String VariantИспользуется в детальных НД для поиска в полях KeyFields значений KeyValues.

При успехе возвращает значение полей ResultFieldsfunction MoveByDistance IntegerIntegerПеремещает курсор на Distance записей вверх или вниз относительно текущей записиprocedure NextПеремещает курсор к следующей записиprocedure OpenОткрывает НДprocedure Post virtualСохраняет вставленную или отредактированную запись в таблице БД procedure PriorПеремещает курсор к предыдущей записиprocedure RefreshОбновляет НД данными из БДprocedure SetFields const Values array of constУстанавливает значения Values во все поля текущей записи События type TDataSetNotifyEvent procedure DataSet TDataSet of objectproperty AfterCancel TDataSetNotifyEventВозникает сразу после отмены изменений в текущей записиproperty AfterClose TDataSetNotifyEventВозникает сразу после закрытия НДproperty AfterDelete TDataSetNotifyEventВозникает сразу после удаления текущей записиproperty AfterEdit TDataSetNotifyEventВозникает сразу после перехода НД в режим редактированияproperty AfterInsert TDataSetNotifyEventВозникает сразу после вставки записиproperty AfterOpen TDataSetNotifyEventВозникает сразу после открытия НДproperty AfterPost TDataSetNotifyEventВозникает сразу после выполнения метода Postproperty AfterScroll TDataSetNotifyEventВозникает сразу после перехода к другой записиproperty BeforeCancel TDataSetNotifyEvent property BeforeClose TDataSetNotifyEventВозникает непосредственно перед отменой изменений в текущей записи Возникает непосредственно перед закрытием НДproperty BeforeDelete TDataSetNotifyEventВозникает непосредственно перед удалением текущей записиproperty BeforeEdit TDataSetNotifyEventВозникает непосредственно перед переходом НД в режим редактированияproperty BeforeInsert TDataSetNotifyEventВозникает непосредственно перед в режим вставкиproperty BeforeOpen TDataSetNotifyEventВозникает непосредственно перед открытием НДproperty BeforePost TDataSetNotifyEventВозникает непосредственно перед выполнением метода Postproperty BeforeScroll TDataSetNotifyEventВозникает непосредственно перед к новой записиproperty OnCalcFields TDataSetNotifyEventВозникает при необходимости переопределения вычисляемых полей 4.

– Конец работы –

Эта тема принадлежит разделу:

Компоненты Delphi для работ с БД

Обычно БД создается для хранения и доступа к данным, содержащим сведения о некоторой предметной области, то есть некоторой области человеческой… По своей архитектуре СУБД делятся на автономные, файл - серверные, клиент -… Сеть не используется. Автономные базы данных полезны для развития тех приложений, которые распространены среди многих…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Основные приемы работы с TDataSet

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Компоненты для работы с БД среды Delphi
Компоненты для работы с БД среды Delphi. Каждое приложение, использующее базы данных, обычно имеет по крайней мере по одному компоненту следующих типов Компоненты наборы данных Data set, непосредст

Обзор компонента TTable
Обзор компонента TTable. Так как компонент TTable является наследником класса TDataSet, он наследует все его свойства, методы и события. Он служит для работы с таблицами БД. Следующие методы позвол

Обзор компонента TQuery
Обзор компонента TQuery. Сокращение SQL означает Structured Query Language - Язык Структурированных Запросов, и обычно произноситься либо как Sequel либо Ess Qu El. SQL - это мощный язык БД, которы

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги