Главная страница
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.016 c
1-30445
alex_bredin
2003-03-31 09:58
2003.04.10
Перенос проекта c Win2000 под WinXP


14-30594
race1
2003-03-26 07:19
2003.04.10
size


14-30510
Supreme 2
2003-03-23 22:02
2003.04.10
Какие лучше?


14-30555
Marser
2003-03-24 16:33
2003.04.10
Графитовая бомба


14-30549
MaxVolkin
2003-03-24 18:21
2003.04.10
Где взять?