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

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

Проблема с Computed field (InterBase)


hawkins ©   (2004-08-16 18:05:00) 

Программеры под InterBase помогите решить проблему.
Программа такая : В окне Form1  в runtime создаются компоненты
IBDatabase,  IBTransaction, IBQuery, IBTable;

открывается IBDatabase: IBDatabase.Open ;
далее в IBQuery.SQL пишу текст :

'ALTER TABLE MYTABLE ADD Full_name COMPUTED BY
(first_name || "," || last_name); '

Выполняю IBQuery.ExecSQL. Т.е. в таблице MYTABLE
создаю Computed Field.

Далее открываю таблицу MYTABLE ( делаю IBTable.Open)
и здесь появляется ошибка:
'Error: attemted update of read-only column'

А вот если сделать то же самое но в sql написать:
'ALTER TABLE MYTABLE ADD Full_name COMPUTED BY
(first_name); '

то никакой ошибки нет. Ошибки также не будет  если
после выполнения IBQuery.ExecSQL  сначала
переоткрыть IBDatabase ,  а после этого открывать таблицу.

IBQuery и IBTable работают через IBTransaction.


zacho   (2004-08-16 18:53:00) [1]

А у меня такой вопрос:
Нафига DDL в клиентском приложении ?


hawkins   (2004-08-16 18:33:00) [2]

>А коммит делаешь после создания столбца?

делаю...


Соловьев   (2004-08-16 18:13:00) [3]


> ALTER TABLE MYTABLE ADD Full_name COMPUTED BY
> (first_name || "," || last_name); '

ИМХ, зачем нагружать этим делом сервак, если все это можно с успехом сделать на клиенте? Все равно на клиенте я так понял есть эти два поля, которые ты складываешь?


LM2   (2004-08-16 18:12:00) [4]

А коммит делаешь после создания столбца?


Наверх

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