Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.10;
Скачать: CL | DM;

Вниз

Как правильно поменять текущий индекс в IBTable .   Найти похожие ветки 

 
Andrio ©   (2003-03-24 11:02) [0]

Сразу хочу заметить что таких глюков не наблюдалось в Paradox.
Я использую FireBird 1.0.3

Имеются 2 таблицы - главная и детальная, размещенные в 2-х компонентах TIBTable.
Главная:
CREATE TABLE MAINBASE (
LICSCET integer not null,
FNAME varchar(25) not null,
INAME varchar(15) not null,
ONAME varchar(18) not null,
/* Остальные поля не принципиальны*/
PRIMARY KEY (LICSCET),
FOREIGN KEY (DOMNUMBER) references DOMA
On Delete CASCADE
On Update CASCADE

Для этой таблицы также построен дополнительный индекс:
CREATE INDEX MAINBASE_NameIDX ON MAINBASE (FNAME, INAME, ONAME)

Детальная таблица:
CREATE TABLE NAMEBASE (
PersNumber smallint not null,
LICSCET integer not null,
FNAME varchar(25) not null,
INAME varchar(15),
ONAME varchar(18),
PRIMARY KEY (PersNumber, LICSCET),
FOREIGN KEY (LICSCET) references MAINBASE
On Delete CASCADE
On Update CASCADE

Компонент IBTable в свойствах masterTable и MasterField ссылается на главную таблицу и поле LICSCET.

При изменении текущего индекса в главной таблице:
MainBaseTable.IndexFieldNames:="LICSCET"
или
MainBaseTable.IndexFieldNames:="FNAME;INAME;ONAME"
и попытке вставить запись в детальную таблицу методами Unsert или Append возбуждается исключительная ситуация и Делфя выплевывает следующую муть:
Либо: Несоответствие типа столбца еще чему-то. (Если активен не уникальный индекс "FName;IName;OName")
Либо: Access Violation (Если активен уникальный индексиндекс "LicScet")

До применения метода "IndexFieldNames" ошибок не возникает.
Также все идет нормально если отключить Ссылку в детальной таблице (компоненте) на главную (св-во: MasterSource).

Как правильно менять текущий индекс в главной таблице чтобы подчиненные не глючили при вставке записей?
Помогите Pleeeeese! :))


 
Johnmen ©   (2003-03-24 12:08) [1]

Не использовать IBTable ! Использовать IBDataSet.



Страницы: 1 вся ветка

Текущий архив: 2003.04.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
14-30520
DuBan
2003-03-22 07:32
2003.04.10
Народ , не подскажете как сделать чтобы в меню Открыть с по...


3-30296
DenKop
2003-03-19 22:47
2003.04.10
BLOB и SQL


14-30519
Феликс
2003-03-23 22:36
2003.04.10
Упражнения для развития дыхалки


3-30290
swx
2003-03-22 07:56
2003.04.10
Как динамически создавать таблицы во время Runtime ?


7-30632
@Ujin
2003-02-14 23:35
2003.04.10
И опять про печать...