Форум: "Базы";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];
ВнизMultiple records found, but only one was expected. Как бороть? Найти похожие ветки
← →
Bams (2003-09-02 16:53) [0]Пользуется BDE, Access, D7
Есть таблица в базе MS Access:
#==============================================================
# Table: tblMain
#==============================================================
CreateTble C=tblMain N="tblMain"
(
C=IDMain T=AUTOINCREMENT P=Yes M=Yes N="IDMain",
C=IDClass T=INTEGER P=No M=No N="IDClass",
C=IDProducer T=INTEGER P=No M=No N="IDProducer",
C=strElement T=STRING P=No M=No N="strElement",
);
Настроен TTable (AutoRefresh:=True)
Следующий код при повторяющихся значениях IDClass,IDProducer,strElement выдает эксепшн Multiple records found, but only one was expected. Но IDMain то проинкрементировался!!!
Выходит что ключ на самом то деле не по IDMain???
tblMain.Append();
tblMain["IDClass"]:=FIDClass;
tblMain["IDProducer"]:=FIDProducer;
tblMain["strElement"]:=FstrElement;
tblMain.Post();
Объясните в чем грабли пожалуйста, и как это лечить. Спасибо.
← →
sniknik (2003-09-02 17:15) [1]есть такое свойство Required у поля IDMain надо в false поставить, типа tblMain["IDMain"].Required := ...
← →
Bams (2003-09-02 17:27) [2]2 sniknik
Оно и так False. А вот поменял на True - получил:
Field "IDMain" must have a value
Выходит перед постом "IDMain" еще не имеет никакого значения? А уникальный ключ в этот момент строится по всем остальным полям или как???? Хотя я ведь явно указал на "IDMain" как PrimaryKey.
Бррр..
← →
sniknik (2003-09-02 17:47) [3]проверь базу может у тебя уже уникальность сбита, тогда так будет при любом добавлении.
и переходи на ADO. или по крайней мере на запросы (попробуй то же самое инсертом).
← →
Bams (2003-09-03 12:07) [4]Уникальность не нарушена. Да и через инсерт делал, та же ерунда происходит. Наверно действительно с BDE слезать надо.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c