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

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

violation FOREIGN KEY [D5, IB6.x]


IBNovice ©   (2003-10-30 14:10:00) 

Hi all
Есть такой вопрос:

Имеется Главная таблица и еще 4 которые используются для подстановки значений в LookUp поля, используются TIBTable, при попытке сохранить запись выдается ошибка violation FOREIGN KEY constraint (FK_MTable_STREET) on table "MTable", причем ошибка появляется при выборе значения с 8-го и больше (В списке лукап поля, всего значений больше 1000).

Внешние ключи прописаны все одинаково. С другими таблицами ошибка не возникает, записей в других таблицах меньше раза в два.

Может кто-нибудь подскажет в чем может быть ошибка.


IBNovice   (2003-10-31 14:54:00) [1]


> ЮЮ © (31.10.03 03:55) [4]
> >причем ошибка появляется при выборе значения с 8-го и больше
> (В списке лукап поля, всего значений больше 1000)
>
> Cкорее всего не к тому полю справочеик прикрутил :-)


именно в этом и была проблема


Johnmen   (2003-10-31 09:16:00) [2]

>причем ошибка появляется при выборе значения

Как выбираешь то ?


ЮЮ   (2003-10-31 03:55:00) [3]

>причем ошибка появляется при выборе значения с 8-го и больше (В списке лукап поля, всего значений больше 1000)

Cкорее всего не к тому полю справочеик прикрутил :-)


Zacho   (2003-10-30 15:54:00) [4]


> MsGuns © (30.10.03 15:48) [2]

От версии IB зависит. :)
А вообще - то же самый inner join, только неявный.


MsGuns   (2003-10-30 15:48:00) [5]

>Zacho © (30.10.03 14:21) [1]
Если в гл.таблице поля, связанные со справочниками, ссылаются на эти самые справочники через foreign, то Join не обязательно и даже вредно ;)
Вполне подойдут связки Where (t.id1=t1.id) and (t.id2=t2.id)..


Zacho   (2003-10-30 14:21:00) [6]

Хочешь хороший совет ? Не создавай lookup-поля для редактирования, с таким кол-вом записей (больше 1000) - пользователи прсто прибить могут за такое, да и если только для отображения - тормозить будет изрядно. Выкини TIBTable, возьми TIBDataSet и напиши запрос с JOIN"ами.


Наверх

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