Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Добавление столбца в таблицу InterBase [D7, IB6.x]


_oleg ©   (2005-06-09 08:31:00) 

Пытаюсь в run-time добавить новые поля в таблицу. Для этого выполняю SQL-запросы:

ALTER TABLE DATA ADD COLOR_MODE CHAR(1);
COMMIT RETAIN;
ALTER TABLE DATA ADD COLOR INTEGER;
COMMIT RETAIN;
ALTER TABLE DATA ADD H_COEFF SMALLINT;
COMMIT RETAIN;
ALTER TABLE DATA ADD L_COEFF SMALLINT;
COMMIT RETAIN;
ALTER TABLE DATA ADD S_COEFF SMALLINT;
COMMIT RETAIN;


В результате в таблице появляются поля:

COLOR_MODE CHAR(1);
COLOR NUMERIC(9,4);
H_COEFF NUMERIC(4,4);
L_COEFF SMALLINT;
S_COEFF SMALLINT;

Почему типы не соответствуют заданным ?
После такого добавления таблица не открывается, невозможно сделать Backup базы, вылазит "arithmetic exception,numeric overflow or string truncation".
При работе с другими базами такой же структуры, поля добавляются нормально. Использую Firebird 1.0.
В чем может быть причина, и как добавить столбцы в эту таблицу ?


_oleg   (2005-06-09 12:12:00) [1]

> А диалект какой?
3


Anatoly Podgoretsky   (2005-06-09 12:08:00) [2]

А диалект какой?


Johnmen   (2005-06-09 12:07:00) [3]

"В потолке открылся люк - не волнуйтесь, это глюк" (с)


_oleg   (2005-06-09 12:04:00) [4]

Решить проблему удалось, но очень коряво - добавил сначала два ненужных столбца NULL1 и NULL2 типа SMALLINT, потом остальные. Получилось вот что:

NULL1 SMALLINT;
NULL2 NUMERIC(4,4);
COLOR_MODE CHAR(1);
COLOR INTEGER;
H_COEFF SMALLINT;
L_COEFF SMALLINT;
S_COEFF SMALLINT;


Хочется разобраться в проблеме до конца. Может кто сталкивался ?


_oleg   (2005-06-09 08:55:00) [5]

Уточняю: Использую FB 1.0.2.
Запросы посылаю из Delphi через TIBSQL.


Zacho   (2005-06-09 08:50:00) [6]

А каким инструментом ты это делаешь ?

И почему используешь FB 1.0, а не 1.0.3 ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо