Реферат: Компонент TTable - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Компонент TTable

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 32 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Компонент TTable. Содержание Обзор Создание таблиц с помощью компо не нта TTable Заключение 1. Обзор 2. На этом небольшом ур оке мы завершим изучение возможностей создани я таблиц . Как Вы помните , мы уже освоил и два способа создания таблиц - с помощью утилиты Database Desktop, входящей в поставку Delphi (урок 11) и с помощь ю SQL-запросов (урок 12), которые можно использовать как в WISQL (Windows Interactive SQL - клиентская часть Local InterBase), так и в компоненте TQuery. Теперь мы рассмотрим , как можно создавать локальны е таблицы в режиме выполнения с помощью компонента T Table. 3. Создание та блиц с помощью компонента TTable Для создания та блиц компонент TTable имеет метод CreateTable . Этот метод создает новую пустую таблицу заданной структуры . Данный м етод (процедура ) может создавать только локальные таблицы формата dBase или Paradox. Компонент TTable можно поместить на форму в режиме проектирования или создать динамичес ки во время выполнения . В последнем случае перед использованием его необходимо создать , например , с помощью следующей конструкции : я var Table1: TT able; ... Table1:=TTable.Create(nil); ... Перед в ызовом метода CreateTable необходимо установить значения свойств · · TableType - тип таблицы · · DatabaseName - база данных · · TableName - имя таблицы · · FieldDefs - массив описаний полей · · IndexDefs - массив описаний индексов . Свойство TableType имеет тип TTableType и определяет тип таблицы в базе данных . Если это свойство установлено в ttDefault, тип таблицы определяется по расширению файла , содержащего эту таблицу : · · Расширение .DB или без расширения : таблица Paradox · Расширение .DBF : таблица dBASE · Расширение .TXT : таблица ASCII (текстовый файл ). Если значение с войства TableType не равно ttDefault, создаваемая таблица вс егда будет иметь установленный тип , вне за висим ости от расширения : · ttASCII: текстовый файл · ttDBase: таблица dBASE · ttParadox: таблица Paradox. Свойство DatabaseName опреде ляет базу данных , в которой находится табл ица . Это свойство может содержать : · BDE алиас · директорий для ло кальн ых БД · директорий и имя файла базы данных для Local InterBase · локальный алиас , о пределенный через компонент TDatabase. Свойство TableName определ яет имя таблицы базы данных. Свойство FieldDefs (имеющее тип TFieldDefs) для существующ ей таблицы сод ержит информацию обо вс ех полях таблицы . Эта информация доступна только в режиме выполнения и хранится в виде массива экземпляров класса TFieldDef, хранящих данные о физических полях таблицы (т.о . в ычисляемые на уровне клиента поля не имею т своего объекта TFieldDef). Число полей определяется свойством Count, а доступ к элементам массива осуществляется через свойство Items: я property Items[Index: Integer]: TFieldDef; При создании та блицы , перед вызовом метода CreateTable, нужно сформиро вать эти элементы . Для этого у класса TFieldDefs имеется метод Add: я procedure Add(const Name: string; DataType: TFieldType; Size: Word; Required: Boolean); Параметр Name, имеющий тип string, определяет имя поля . Параметр DataType (тип TFieldType) обозначает тип поля . Он мо жет иметь одно из следующих значений , смыс л которых ясен из их наименования : я TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftBlob, ftMemo, ftG raphic); Параметр Size (тип word) представляет собой разме р поля . Этот параметр имеет смысл только для полей типа ftString, ftBytes, ftVarBytes, ftBlob, ftMemo, ftGraphic, ра змер которых может сильно варьироваться . Поля остальных типов всегда имеют строго фиксированный размер , так что данный п араметр для них не принимается во внимани е . Четвертый параметр - Required - определяет , может ли поле иметь пустое значение при записи в базу данных . Если значение этого пара метра - true, то поле является “требуемым”, т.е . не может иметь пустого значения . В противном случае поле не является “т ребуемым” и , следовательно , допускает запись з начения NULL. Отметим , что в докуме нтации по Delphi и online-справочнике допущена ошибка - там отсутствует упоминание о четвертом пар а метре для метода Add . Если Вы желаете индексировать таблицу по одному или нескольким полям , используйте метод Add для свойства IndexDefs, которое , как можно догадаться , также является объектом , т.е . э кземпляром класса TIndexDefs. Свойство IndexDefs для сущ е ствующей таблицы содержит информацию обо всех индексах таблицы . Эта информация доступна только в режиме выполнения и хранится в виде массива экземпляров класса TIndexDef, хранящих данные об индексах таблицы . Число индексо в определяется свойством Count, а доступ к элементам массива осуществляется через с войство Items: я property Items[Index: Integer]: TIndexDef; Метод Add класса TIndexDefs имеет следующий вид : я procedure Add(const Name, Fields: string; Options: TIndexOptions); Параметр Name, имеющий т ип string, определяет имя индекса . Параметр Fields (также имеющий тип string) обозначает имя поля , которое должно быть индексировано , т.е . имя и ндексируемого поля . Составной индекс , использующий несколько полей , может быть задан списком имен полей , разделе нных точкой с запятой “ ;” , например : ‘ Field1;Field2;Field4 ’ . Последний параметр - Options - определяет тип индекса . Он может иметь набор значений , описываемых типом TIndexOptions: я TIndexOptions = set of (ixPrimary, ixUnique, ixDescending, ixCaseInsensi tive, ixExpression); Поясним эти значения . ixPrimary обозначает первичный ключ , ixUnique - уникальный индекс , ixDescending - индекс , отсортированный по уменьшению значений ( для строк - в порядке , обратном алфавитному ), ixCaseInsensitive - индекс , “ нечувств и тельный ” к регистру букв , ixExpression - индекс по выражению . Отметим , что упоминание о последнем значении также отсу тствует в документации и online-справочнике . Опция ixExpression позволяет для таблиц форм ата dBase создавать индекс по выражению . Для э тог о достаточно в параметре Fields указать желаемое выражение , например : 'Field1*Field2+Field3'. Вообще гово ря , не все опции индексов применимы ко всем форматам таблиц . Ниже мы приведем список допустимых значений для таблиц dBase и Paradox: я Опции индексов dBASE Paradox --------------------------------------- ixPrimary ь ixUnique ь ь ixDescending ь ь ixCaseInsensitive ь ixExpression ь Необходимо придерживаться указанного порядка применения опций индексов во избежание некорректной р аботы . Следует отметить , ч то для форма та Paradox опция ixUnique может использоваться только вме сте с опцией ixPrimary (см . пример на диске - Ри с . 0-1). Итак , после заполнения всех указанных выше свойств и вызова методов Add для FieldDefs и IndexDefs необходимо вызвать метод класса TTable - CreateTable: я with Table1 do begin DatabaseName:='dbdemos'; TableName:='mytest'; TableType:=ttParadox; Создать поля with FieldDefs do begin Add('Surname', ftString, 30, true); Add('Name', ftString, 25, true); Add('Patronymic', ftString, 25, t rue); Add('Age', ftInteger, 0, false); Add('Weight', ftFloat, 0, false); end; Сгенерировать индексы with IndexDefs do begin Add('I_Name', 'Surname;Name;Patronymic', [ixPrimary, ixUnique]); Add('I_Age', 'Age', [ixCaseInsensitive]); end; CreateTable; end; Индексы можно сгенерировать и не толь ко при создании таблицы . Для того чтобы сгенерировать индексы для существующей таблицы , нужно вызвать метод AddIndex класса TTable, набо р параметров которого полностью повторяет наб ор параметров для метода Add класса TIndexDefs: я procedure AddIndex(const Name, Fields: string; Options: TIndexOptions); При этом для метода AddIndex справедливы все замечания по пово ду записи по лей и опций индексов , сделанные выше. 1. Заключение Итак , мы познако мились с еще одним способом создания табл иц - способом , использующим метод CreateTable класса TTable. И спользование данного способа придаст Вашему п риложению максимальную гибкость , и Вы см ожете строить локальные таблицы “на лету” . Сопутствующим методом является метод AddIndex класса TTable, позволяющий создавать индексы для уже существующей таблицы . Подчеркнем еще раз , что данный способ применим только для локаль ных таблиц . Более общий с пособ с остоит в использовании SQL-запросов , который мы рассматривали на уроке 12.
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Все сейчас стебутся над Чубайсом. А хоть кто-нибудь подумал, как ему теперь жопу вытирать?
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "Компонент TTable", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru