12155

ПРОГРАММИРОВАНИЕ РАБОТЫ С БАЗАМИ ДАННЫХ

Лекция

Информатика, кибернетика и программирование

ПРОГРАММИРОВАНИЕ РАБОТЫ С БАЗАМИ ДАННЫХ Состояние набора данных Основным свойством компонента Table является свойство State определяющее состояние набора данных. Это свойство доступно только во время выполнения и только для чтения. Набор данных может находиться...

Русский

2013-04-24

70.04 KB

7 чел.

ПРОГРАММИРОВАНИЕ РАБОТЫ С БАЗАМИ ДАННЫХ

  1.   Состояние набора данных

Основным свойством компонента Table является свойство State, определяющее состояние набора данных. Это свойство доступно только во время выполнения и только для чтения. Набор данных может находиться в одном из следующих состояний:

dsInactive – набор закрыт, данные недоступны;

dsBrowse –данные доступны только для просмотра;

dsEdit –текущая запись может редактироваться;

dsInsert –может быть добавлена новая запись;

dsSetKey –доступен режим поиска записи и операция задания диапазона изменений. Может быть просмотрено только ограниченное множество данных, которое не может быть изменено.

Состояние данных может быть установлено в приложении во время его выполнения с помощью различных методов:

Метод

Назначение

Active

State

Close

закрывает соединение с базой данных

false

dsInactive

Open

отрывает соединение с базой данных

true

dsBrowse

Edit

переводит набор данных в состояние редактирования

-

dsEdit

и т.п.

Эти и другие методы автоматически устанавливают различные состояния набора данных. В процессе программирования необходимо следить за тем, чтобы набор данных вовремя был переведен в нужное состояние.

  1.   Пересылка записи в базу данных

Во время редактирования текущей записи изменения осуществляются в буфере, а не в самой базе данных. Пересылка записи в базу данных происходит только при выполнении метода Post. Данный метод может быть использован только при состояниях набора данных dsEdit и dsInsert. Вызов этого метода осуществляется прямо (Table1.Post) или неявно при любых перемещениях курсора на новую текущую запись. Перед выполнением данного метода возникает событие BeforePost, а после его выполнения – AfterPost. Эти события можно использовать для того, чтобы предотвратить ошибочные изменения данных в таблице при неявном выполнении метода Post.

Отменить изменения, внесенные в запись, можно методом Cancel. При выполнении этого метода, если предварительно не был вызван метод Post, запись возвращается к состоянию, предшествовавшему редактированию, и набор данных переводится в состояние dsBrowse.

  1.   Кэширование изменений

По умолчанию все изменения в наборе данных, завершаемые методами Post, Insert, Delete и т.п., заносятся в базу данных. Возможен другой режим работы, при котором все изменения, вносимые пользователем в записи,  кэшируются –т.е. сохраняются в памяти локально. В этом случае пользователь работает не с реальными данными, а с их копиями, и все изменения заносятся в базу по специальной команде.

Режим кэширования определяется значением true свойства  CachedUpdates компонента Table. Изменения передаются в базу после выполнения метода ApplyUpdates и отменяются методом CancelUpdates. Метод CommitUpdates очищает буфер кэша для приема новой информации.

  1.   Доступ к полям

Как уже говорилось ранее, поля отображаются в виде объектов класса TField и производных от него классов, зависящих от типа поля. Такие объекты могут быть созданы одним из трех способов:

  1.  автоматическая генерация для каждого набора данных;
  2.  создание в процессе проектирования с помощью Редактора Полей;
  3.  программное создание в процессе выполнения приложения.

Доступ к объектам полей возможен также одним из трех способов:

  1.  по порядковому индексу объекта через свойство Fields[i:integer], где i –индекс объекта (индексация начинается с 0). Например, Table1.Fields[2] –это третий объект поля таблицы Table1;
  2.  по имени поля с помощью метода FieldByName(‘<имя>’). Например, Table1.FieldByName(‘Fam’) –это объект, связанный с полем Fam;
  3.  по имени объекта (только для объектов, созданных с помощью Редактора Полей). Имя объекта поля в Delphi состоит из имени таблицы и имени поля, поэтому обращение к объекту по имени не требует ссылки на таблицу. Например, Table1Im –это объект поля Im таблицы Table1.

Значение поля хранится в свойстве Value объекта поля. Тип этого свойства определяется типом поля. Однако в Delphi имеется ряд свойств (AsInteger, AsString, AsBoolean и т.п.), переводящих один тип значений в другой. Например, свойство AsString переводит тип любого поля в строку при чтении значения поля и осуществляет обратный перевод строки в тип поля при записи значения поля.

Определить тип поля можно из свойства объекта поля DataType, которое может принимать значения ftUnknown (неизвестное), ftAutoInc (автоматически нарастающее), ftString (строковое) и т.д.

  1.   Методы навигации

Перемещение по таблице осуществляется с помощью следующих методов набора данных:

Метод

Назначение

First

к первой записи таблицы

Last

к последней записи таблицы

Next

к следующей записи

Prior

к предыдущей записи

MoveTo(i:integer)

вперед (при i>0) или назад (при i<0) на i записей

Для контроля начала и конца таблицы существуют два свойства EOF (end-of-file) и BOF (beginning-of-file), которые принимают значение true, если делается попытка переместить курсор соответственно за пределы последней или первой записи, а также после выполнения методов Last и First.

  1.   Поиск записей

Одной из важнейших для пользователя операций с базами данных является поиск записей по некоторому ключу. Опишем несколько методик поиска.

5.6.1 Методика SetKey

Для применения данной методики таблица предварительно должна быть проиндексирована по  тому полю, по которому должен будет проводиться поиск. Это осуществляется с помощью задания значения свойства IndexFieldNames компонента Table. Затем методом SetKey таблица устанавливается в соответствующее состояние dsSetKey, при котором набор данных воспринимает последующий оператор присваивания значения полю не как присваивание, а как задание ключа поиска. В заключении методом GoToKey (для строк GoToNearest) курсор переводится на запись, в которой значение указанного поля равно ключу. В случае отсутствия такой записи данный метод возвращает ложь.

Table1.IndexFieldNames:=’Group’;

Table1.SetKey;

Table1.FieldByName(‘Group’).AsString:=’2В’;

Table1.GoToKey;

5.6.2 Методика FindKey

В данной методике таблица также должна быть проиндексирована по тем ключевым полям, по которым осуществляется поиск. В метод FindKey (или FindNearest для строковых полей) передается массив значений ключевых полей в той последовательности, в которой они входят в индекс. При этом не обязательно перечислять все поля –достаточно перечислить первое или несколько первых.

Table1.IndexFieldNames:=’Group;Fam’;

Table1.FindNearest([edGroup.Text, edFam.Text)];

5.6.3 Методика Locate

Метод Locate в простейшем случае применения отличается от предыдущих методов отсутствием необходимости индексирования набора данных по ключевым полям. Строка, содержащая список ключевых полей, является одним из параметров метода Locate. Метод возвращает ложь, если запись не найдена.

Table1.Locate(‘Group’,’2В’,[loCaseInsensitive, loPartialKey]);

5.6.4 Методика Lookup

Метод Lookup отличается от Locate тем, что возвращает значения в виде массива типа Variant, не меняя при этом положения курсора.

edAdress.Text:=Table1.Lookup(‘Fam’,’Иванов’,’Adress’);


 

А также другие работы, которые могут Вас заинтересовать

24661. Аналіз валового прибутку від реалізації продукції 29 KB
  У процесі аналізу доходів визначають такі показники: 1 рівень доходів підва: доходи в сумі на 100 на товаро оборот. 2 розмір зміни рівня доходів:фактичний рівень доходівплан рівня доходів. 3 відхилення доходів суми:фактич.товарооборотвідхилення у 100 4 рентабельність: R=ЧП ВК 5 рівень рентабельності продажу Rпр=ЧП ЧР У процесі аналізу доходів визначаются такі показники: 1 рівень доходів підва= доходи в сумі 100 товарооборот 2 розмір зміни рівня підва=фактичній плановий 3 відхилення доходів в сумі= фактичний товарооборотна відхил.
24662. Аналіз показників рентабельності 27.5 KB
  Аналіз показників рентабельності. Аналіз рентабельності підприємства дозволяє визначити ефективність вкладення коштів у підприємство та раціональність їхнього використання. Аналіз рентабельності підприємства здійснюється шляхом розрахунку таких показників коефіцієнтів: коефіцієнт рентабельності активів коефіцієнт рентабельності власного капіталу коефіцієнт рентабельності діяльності та коефіцієнт рентабельності продукції. Коефіцієнт рентабельності активів Ра розраховується як відношення чистого прибутку підприємства до середньорічної...
24663. Організація і методика аналізу фінансового стану підприємства в ринкових умовах 29 KB
  Відносні показники фінансового стану розподіляються на коефіцієнти розподілення і координації. Коефіцієнт розподілення відображають яку частину той чи інший абсолютний показник становить від підсумкового показника складовою частиною якого є цей показник.аналіз рентабельності Аналіз рентабельності підприємства здійснюється шляхом розрахунку таких показників коефіцієнтів: коефіцієнт рентабельності активів коефіцієнт рентабельності власного капіталу коефіцієнт рентабельності діяльності та коефіцієнт рентабельності продукції.
24664. Аналіз динаміки, складу та структури майна підприємства 25 KB
  В процесі аналізу активу і пасиву балансу визначають показники структури динаміки балансу структурної динаміки балансу. Для загальної оцінки динаміки фінансового стану підприємства необхідно виконати групування статей балансу по окремих групах за відзнакою ліквідності за ознакою активу та пасиву і зобовязання. Використовуючи горизонтальний і вертикальний аналіз здійснення аналізу активу та пасиву балансу за групами.
24665. Аналіз структури джерел коштів підприємства 30.5 KB
  Аналіз структури джерел коштів підприємства. Як ми уже говорили раніше внутрішній аналіз структури джерел коштів підприємства пов'язаний з оцінкою альтернативних варіантів фінансування діяльності підприємства.До числа основних показників які характеризують структуру джерел коштів належить коефіцієнт фінансової незалежності автономії КАВТ як відношення загальної суми джерел власних коштів до підсумку балансу. Цей коефіцієнт є важливим і для інвесторів і для кредиторів тому що характеризує частку коштів вкладених власником у загальну...
24666. Аналіз дебіторсько-кредиторської заборгованості 37 KB
  Аналіз дебіторськокредиторської заборгованості. Значення аналізу дебіторської заборгованості особливо зростає в період інфляції коли іммобілізація власних оборотних активів стає дуже невигідною.У найзагальнішому вигляді зміни в обсязі дебіторської та кредиторської заборгованості за звітний період можуть бути охарактеризовані даними горизонтального та вертикального аналізу балансу. Особливу увагу в процесі аналізу дебіторської заборгованості приділяють статті Дебіторська заборгованість за товари роботи послуги яка має найбільшу питому вагу...
24667. Бюджетування є інструментом поточного планування підприємства 28.5 KB
  14 Бюджетування є інструментом поточного планування підприємства. Бюджетування процес планування майбутньої діяльності підприємства і оформлення його результатів у вигляді системи бюджетів. Забезпечення координації і кооперації підрозділів підприємства. Обґрунтування витрат підрозділів і підприємства в цілому.
24668. Виробнича собівартість 33.5 KB
  Напівпостійні залишаються постійними до визначених меж росту обсягу продукції.Собівартість продукції з погляду економічної теорії це сума всіх витрат повязаних з виробництвом та збутом продукції. Повна собівартість реалізованої продукції може бути розрахована за Звітом про фінансові результати. Виробничі підприємства складають калькуляцію виробничої собівартості продукції додаток до методичних рекомендацій №47 галузеві методичні вказівки.
24669. Основні методи обліку витрат і калькулювання собівартості продукції 39 KB
  Позамовний метод калькулювання широко використовується в зарубіжній практиці. Принципові особливості позамовного позамовного методу калькулювання полягають у наступному: в індивідуалізації обліку витрат і розрахунку собівартості на конкретне замовлення усі прямі витрати групуються в аналітичному обліку в суворій відповідності з відкритими замовленнями; калькуляція отриманої продукції складається після повного завершення робіт із замовлення незалежно від тривалості його виконання. Можна назвати принаймні два напрями модифікації позамовного...