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

Вниз

Аppend   Найти похожие ветки 

 
Жук ©   (2003-01-21 15:26) [0]

Подскажите, плз !
При append"e в DataSet вылезает ошибка "multiple rows in singleton select". id генерируется AfterInsert.
С чем это может быть связано ?


 
Johnmen ©   (2003-01-21 15:42) [1]

Компоненты доступа ?
И менно при вызове метода Append ?


 
Жук ©   (2003-01-21 15:47) [2]

DataSet - надстройка над FIBC.
При вызове Append"a выскакивает эта ошибка. Может быть это связано с Refresh"ем ?


 
Johnmen ©   (2003-01-21 15:57) [3]

Компоненты доступа ??? Не надстройка...
И связано, скорее всего, с Insert"ом...


 
Жук ©   (2003-01-21 16:09) [4]

Дело в том, что там :
"if DBGrid1.DataSource=DM.DSKomplekt then d:=DM.Komplekt
else d:=DM.FreeKomp;
d.Append;"
Оба DataSet"a с одинаковыми Insert"ми, но при else всё нормально, а при then вылезает ошибка на Append"e. Отличаются DataSet"ы только select"ом и refresh"ем.
Идеи есть ?


 
Johnmen ©   (2003-01-21 16:20) [5]

Идея проста - перекопать запросы...:)
Может приведешь их для DM.Komplekt ?


 
Жук ©   (2003-01-21 16:23) [6]

Как раз сижу - копаю. :-(
Запрос :
"select k.id,k.id_ferrum,k.nomer,k.ps,k.inwnom,k.cena,k.id_fuck,f.name,
n.name,
(select p.komp from komputer(k.id) p) as komp,
(select fu.name from fuck fu where k.id_fuck=fu.id) as sf,
(select p.inw_nomer from pasport p,first_konfig fk
where k.id=fk.id_komplekt and fk.id_komputer=p.id) as fkomp
from komplekt k,ferrum f,name_ob n
where k.id_ferrum=f.id and n.id=f.id_ob
order by n.name"
komputer в первом вложенном select"e - хранимая процедура


 
Delirium^.Tremens ©   (2003-01-21 16:26) [7]


> "multiple rows in singleton select".

Эта ошибка вызыается SELECT"ом, а ни как не INSERT"ом. Возможно это SELECT из RefreshSQL? Там есть (должно быть) что-то типа WHERE id = ?old_id


 
Delirium^.Tremens ©   (2003-01-21 16:27) [8]

Жук © (21.01.03 16:23)
Wow!


 
Жук ©   (2003-01-21 16:29) [9]

В refresh"e "... and k.id=?old_id"
Что тут проблемного может быть ?


 
Delirium^.Tremens ©   (2003-01-21 16:31) [10]

Жук © (21.01.03 16:29)

> В refresh"e "... and k.id=?old_id"
> Что тут проблемного может быть ?

Если это есть, то ничего


 
Johnmen ©   (2003-01-21 16:34) [11]

Проблема с вложенными запросами - в данном контексте они должны возвращать единственное значение...


 
Delirium^.Tremens ©   (2003-01-21 16:35) [12]

А ты уверен, что все эти вложенные селекты возвращают по одной строке? Проверь процедуры.
И сколько это будет выполняться, когда количество записей в таблицах станет больше 10?


 
Жук ©   (2003-01-21 16:47) [13]

Убрал все вложенные запросы - всё нормально. Спасибо всем.


 
Alexandr ©   (2003-01-22 07:55) [14]


> Убрал все вложенные запросы - всё нормально. Спасибо всем.


ты бы еще написал "стер программу нахрен. Жить стало легче"



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
1-15534
sers
2003-01-27 11:10
2003.02.06
Эффекты с графикой


1-15621
Юра
2003-01-29 11:03
2003.02.06
Быстрый поиск числа в списке


1-15691
swamp
2003-01-27 09:54
2003.02.06
MDI - отлов детей


14-15844
Smok_er
2003-01-22 23:16
2003.02.06
Господа, киньте пожалуйста stdctrls.pas


14-15886
McSimm
2003-01-19 15:39
2003.02.06
Будьте осторожны