Референтна ръководство Делфи - компонент ttable
Създаване на таблици с помощта на TTable
- преглед
- На тази малка урок, ние ще завърши таблици проучване, създаване на възможности. Както си спомняте, ние вече усвоили два начина за създаване на таблица - с помощта на база данни за настолни компютри в комплект с Delphi (урок 11), както и с помощта на SQL-заявки (урок 12), който може да се използва в WISQL (Windows Interactive SQL - клиент част Местна InterBase) и компонент TQuery. Сега ще разгледаме как да се създаде местна маса в режим на изпълнение с помощта на TTable.
- Създаване на таблици с помощта на TTable
За да създадете таблиците TTable компонент има CreateTable метод. Този метод създава нова празна таблица на дадена структура. Този метод (процедура) може да създаде само местно маси DBASE или Paradox формат.
TTable компонент може да бъде поставен на форма по време на проектирането, или създаване на динамично по време на изпълнение. В последния случай, преди да го използвате, за да създадете, например, със следната конструкция:
Преди да се обадите CreateTable трябва да настроите стойностите на имотите
- TABLETYPE - тип маса
- DatabaseName - базата данни
- TableName - името на таблицата
- FieldDefs - масив от определения полеви
- IndexDefs - масив от описания на индексите.
Имотът е тип TABLETYPE TTableType и определя вида на таблицата с данни. Ако този имот е настроен да ttDefault. тип маса се определя от файлово разширение, тази таблица, включваща:
- Разширяване .db или без разширението: Таблица Paradox
- Разширяване .dbf. DBASE маса
- Разширяване на .TXT. ASCII таблица (текстов файл).
Ако TABLETYPE стойността на имота не е ttDefault. създаване на таблици, винаги ще има набор тип, независимо от разширението:
- ttASCII. текст
- ttDBase. DBASE маса
- ttParadox. Парад на маса.
DatabaseName собственост определя на базата данни, която съдържа таблица. Този имот може да съдържа следното:
- BDE псевдоним
- директория за локална база данни
- директории и името на файла на базата данни за местното InterBase
- псевдоним на локално дефиниран чрез TDatabase компонент.
TableName имот посочва името на таблицата база данни.
FieldDefs собственост (като тип TFieldDefs) към съществуваща таблица съдържа информация за всички области на маса. Тази информация е достъпна само в навечерието на готовност и се съхранява в масив TFieldDef инстанция. съхранение на данни за полета на физическите маса (по този начин изчислява на ниво поле на клиента не са им TFieldDef обект). Броят на полета се определя от имуществото на граф. и достъп до елементите на масив чрез имуществото на артикули.
При създаване на маса, преди да се обадите CreateTable. трябва да създадете тези елементи. За тази цел има един клас TFieldDefs Добавете метод.
Параметърът Name. като тип низ. определя името на полето. Типът данни на параметър (тип TFieldType) означава вида на терена. Тя може да има една от тези стойности, по смисъла на който е видно от имената им:
Размер на параметър (тип дума) е размерът на полето. Тази опция има смисъл само за полета от тип ftString. ftBytes. ftVarBytes. ftBlob. ftMemo. ftGraphic. чийто размер може да варира значително. Сфера други видове винаги имат строго фиксиран размер, така че тази опция не е взето под внимание за тях. Четвъртият вариант - Задължително - определя дали областта може да бъде нула, когато пишете с базата данни. Ако този параметър е - вярно. след това се "изисква" на полето, т.е. Тя не може да има празна стойност. В противен случай, не е "необходима" на полето и, следователно, може да се запише нулева стойност. Имайте предвид, че документацията за Delphi и онлайн-справки грешка - не се споменава за четвъртия вариант за metodaAdd.
Ако искате да индекс на масата с една или повече области, използвайте метода за добавяне на IndexDefs на собственост. което, както може да се предположи, също предмет, т.е. TIndexDefs инстанция на класа. IndexDefs имот към съществуваща таблица съдържа информация за всички индекси на масата. Тази информация е достъпна само в навечерието на готовност и се съхранява в масив TIndexDef инстанция. съхраняване на данни на масата за индексиране. Броят на индексите определено имущество граф. и достъп до елементите на масив чрез имуществото на артикули.
Добавете начин TIndexDefs клас е както следва:
Опции: TIndexOptions);
Параметърът Name. като тип низ. определя името на индекса. Параметър полета (също като тип низ) означава име на поле, което трябва да се индексира, т.е. Името на полето индексиран. Съставният индекс, който използва няколко области може да бъде даден списък на имена на полета, разделени с запетая "; "Например:" Field1; Field2; Field4 ". Последният параметър - Настройки - определя вида на индекс. Той може да има набор от ценности, които описват TIndexOptions на типа.
Обясняваме тези стойности. ixPrimary представлява първичен ключ, ixUnique - уникален индекс, ixDescending - индекс подредени намаляване на стойности (за низове - в обратен азбучен ред), ixCaseInsensitive - индекс "нечувствителни" чувствителни, ixExpression - индекс експресия. Трябва да се отбележи, че позоваването на последната стойност също липсва в документацията и онлайн-директория. ixExpression опция дава възможност за маси формат DBASE за създаване на индекс на изразяване. Това е достатъчно, в параметъра Полета да посочите желания израз, например: "Field1 * Field2 + Field3". Най-общо казано, не всички възможности се прилагат за всички индекси на маса формат. По-долу, ние предлагаме списък с валидни стойности за DBASE и Paradox таблици:
ixDescending бб
Необходимо е да се придържат към определен ред на индексни опции приложение, за да се избегне неправилна експлоатация. Трябва да се отбележи, че за формата Paradox ixUnique опция може да се използва само в съчетание с ixPrimary опция (виж пример на диска - Фигура 0-1 ..).
Така че, след попълване на всички по-горе характеристики, и се обадете на метода за добавяне на FieldDefs и IndexDefs трябва да се обадите на метод на клас TTable - CreateTable.
с FieldDefs направя
Добави ( "Фамилия", ftString, 30, вярно);
Добави ( "Име", ftString, 25, вярно);