Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
3-82067
Yuri
2003-09-02 11:24
2003.09.25
Ограничение записей в ПАРАДОКС


3-82132
andy-ivt
2003-09-04 11:34
2003.09.25
Подключение к сетевой БД с помощью InterBase Express


1-82251
AHTOH
2003-09-14 22:19
2003.09.25
Стандартное меню для TEdit в виндах


3-82049
Bolek
2003-09-02 18:45
2003.09.25
обработка ошибки


14-82389
Karnegi.
2003-09-04 14:28
2003.09.25
Почемы вы не поставите себе Delphi7????




   Наверх