![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с 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]А коммит делаешь после создания столбца?