![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Аppend [D4, IB6.x]
Жук © (2003-01-21 15:26:00)Подскажите, плз !
При append"e в DataSet вылезает ошибка "multiple rows in singleton select". id генерируется AfterInsert.
С чем это может быть связано ?
Alexandr (2003-01-22 07:55:00) [1]
> Убрал все вложенные запросы - всё нормально. Спасибо всем.
ты бы еще написал "стер программу нахрен. Жить стало легче"
Жук (2003-01-21 16:47:00) [2]Убрал все вложенные запросы - всё нормально. Спасибо всем.
Delirium^.Tremens (2003-01-21 16:35:00) [3]А ты уверен, что все эти вложенные селекты возвращают по одной строке? Проверь процедуры.
И сколько это будет выполняться, когда количество записей в таблицах станет больше 10?
Johnmen (2003-01-21 16:34:00) [4]Проблема с вложенными запросами - в данном контексте они должны возвращать единственное значение...
Delirium^.Tremens (2003-01-21 16:31:00) [5]Жук © (21.01.03 16:29)
> В refresh"e "... and k.id=?old_id"
> Что тут проблемного может быть ?
Если это есть, то ничего
Жук (2003-01-21 16:29:00) [6]В refresh"e "... and k.id=?old_id"
Что тут проблемного может быть ?
Delirium^.Tremens (2003-01-21 16:27:00) [7]Жук © (21.01.03 16:23)
Wow!
Delirium^.Tremens (2003-01-21 16:26:00) [8]
> "multiple rows in singleton select".
Эта ошибка вызыается SELECT"ом, а ни как не INSERT"ом. Возможно это SELECT из RefreshSQL? Там есть (должно быть) что-то типа WHERE id = ?old_id
Жук (2003-01-21 16:23:00) [9]Как раз сижу - копаю. :-(
Запрос :
"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 - хранимая процедура
Johnmen (2003-01-21 16:20:00) [10]Идея проста - перекопать запросы...:)
Может приведешь их для DM.Komplekt ?
Жук (2003-01-21 16:09:00) [11]Дело в том, что там :
"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 15:57:00) [12]Компоненты доступа ??? Не надстройка...
И связано, скорее всего, с Insert"ом...
Жук (2003-01-21 15:47:00) [13]DataSet - надстройка над FIBC.
При вызове Append"a выскакивает эта ошибка. Может быть это связано с Refresh"ем ?
Johnmen (2003-01-21 15:42:00) [14]Компоненты доступа ?
И менно при вызове метода Append ?