AlterTable method (ZbDatabase)

Изменяет структуру таблицы (реструктурирует таблицу).

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function AlterTable([Source], TableName As String, TableDef AsIZbTableDef) As Boolean

Source - источник таблицы (необязательный параметр). Может быть объектом IZbSourceInfo, либо содержать строку - имя источника данных, либо пусто.

TableName - имя таблицы. Если параметр Source пуст, TableName должно содержать полный путь к таблице.

TableDef - объект IZbTableDef, описывающий структуру таблицы.

Описание:

Метод позволяет изменить структуру таблицы. Измененная структура таблицы задается объектом IZbTableDef. Свойство FieldIndex у объектов IZbFieldDef в списке полей определяет, берется ли это поле из имеющейся структуры таблицы или добавляется как новое. Для имеющихся полей FieldIndex - номер поля начиная с единицы, для новых полей - 0.

Те же поля в существующей таблице, для которых не нашлось соответствующего индекса в новой структуре, будут удалены.

В случае успеха метод возвращает True, иначе False. Свойства LastError и LastErrorString содержат информацию об ошибке.

ВАЖНО: При выполнении метода с объектом TableDef, в котором у полей не прописаны индексы FieldIndex, все поля старой таблицы будут удалены, т.е. вся таблица целиком будет удалена и на ее месте будет создана новая с новой структурой.

Рекомендуемый порядок изменение структуры таблицы приведен на примере ниже:

'Пример Visual Basic
Dim TableDef As IZbTableDef

'Получаем текущую структуру таблицы
'(свойство FieldIndex у всех полей прописано)
TableDef = Db.GetTableDef(Source, TableName)

'Добавляем новое поле
TableDef.AddField "NewField", zbftInteger, 0, 0, False
'Удаляем старое поле
TableDef.DeleteField(5)
'Изменяем  поле
TableDef.FieldName(4) = "NewFieldName"

'Выполняем реструктуризацию
Db.AlterTable Source, TableName, TableDef