Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Вниз

поведение ADODataSet в Master-Detal   Найти похожие ветки 

 
АлеКо   (2005-08-08 08:27) [0]

Добрый день господа.
Пытаюсь связать два ADODataSet в Master-Detal. Связка не работает, если в результате подчиненного DataSet выступает результат отработки хранимой процедуры (свойство CommandType = cmdStoredProc). Если выполняются запросы (CommandType = cmdText) то связка работает.
Подскажите, как решить проблему.


 
evvcom ©   (2005-08-08 08:45) [1]


> Подскажите, как решить проблему.

А ты толком ничего и не описал. Ноль информации.


 
Anatoly Podgoretsky ©   (2005-08-08 08:49) [2]

У тебя наверно ошибка.


 
sniknik ©   (2005-08-08 08:49) [3]

странная разница... полученные рекордсеты ничем различатся не должны, а значит и поведение должно быть одинаковым.
но раз говориш изза этого (проверять не буду), т.е. дагноз тебе ясен... ну тогда что мешает составить команду на вызов процедуры и вызвать ее с CommandType = cmdText? елементарно
EXEC MyProc :Par1, :Par2
и все. проблема решена. (вернее проведено лечение по диагнозу поставленному самим пациентом ;о)))


 
АлеКо   (2005-08-08 08:50) [4]

А что конкретно добавить?

Два ADODataSet связаны соотношением мастер-деталь. Если связанный ADODataSet это результат выполнения хронимой процедуры то связка не работает, если результат выполнения запроса то работает вот в этом весь вопрос. Если нужно что-то конкретное подскажи.


 
Anatoly Podgoretsky ©   (2005-08-08 08:51) [5]

sniknik ©   (08.08.05 08:49) [3]
О" Генри.


 
АлеКо   (2005-08-08 08:57) [6]

Либо это ограничение ADO или моя ошибка. Сколько работал с компонентом с подобными ограничениями я не сталкивался.
Хотел бы обратить внимание что хранимая процедура возвращает данные в виде SELECT временной глобальной таблицы, в конце процедуры таблица удаляется на чем собственно процедура и заканчивается.
Может в этом моя ошибка.


 
АлеКо   (2005-08-08 09:52) [7]

Вот какую закономерность я выяснил.
Если хранимая процедура имеет входные параметры то связка Мастер-Деталь не работает, если их нет то все Ок.
Как это можно объяснить????
И тем более как с этим бороться???


 
АлеКо   (2005-08-08 09:58) [8]

Так работает

CREATE PROCEDURE [dbo].[DemoProc]
AS
SELECT Name2, Sort, Link_Up, Link FROM  V_KOMM_Ext ORDER BY Sort
GO

а так нет
CREATE PROCEDURE [dbo].[DemoProc]
@Mod Int
AS
SELECT Name2, Sort, Link_Up, Link FROM  V_KOMM_Ext ORDER BY Sort
GO


 
sniknik ©   (2005-08-08 12:05) [9]

хм... а ведь действительно не работает при cmdStoredProc... (проверил) требует параметр с именем поля (вместо создания индекса для фильтра) по которому связь, т.е. хотя рекордсет такой же но обработка отличается изза этого параметра...

и кстати виртуальное "лечение" по диагнозу пациента дало положительные результаты. ;о))
в общем причина "пациентом" указана верно.


 
АлеКо   (2005-08-09 03:16) [10]

Мне кажется, что при наличии входного параметра предполагается передача данных из процедуры тоже в виде выходных параметров.

Или еще вариант. При связи Мастер-Деталь не происходит фильтрация по DataSet а происходит повторный запуск процедуры с указанием параметра. Этот параметр и является критерием отбора. Например так:

CREATE PROCEDURE [dbo].[DemoProc]
@Link Int
AS
SELECT Name2, Sort, Link_Up, Link FROM  V_KOMM_Ext
WHERE Link=@Link
ORDER BY Sort
GO


 
АлеКо   (2005-08-10 10:18) [11]

Для интерисующихся хочу сказать что данныю ошибку побороть не смог. Пришлось для связки Мастер-Деталь ручками фильтровать DataSet.

Все.


 
sniknik ©   (2005-08-10 14:40) [12]

> Для интерисующихся хочу сказать что данныю ошибку побороть не смог.
?
> [3]
не пробовал значит? в [9] писал что проверил и это помогло. а потом... руками сделать фильтр - ADODataSet1.Sort:
= "Link"; да это проблемно, это за "побор" ошибки не считается... ;о))



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

Форум: "Базы";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.036 c
14-1125277977
Учащийся
2005-08-29 05:12
2005.09.25
Как в фотошопе нарисовать элипс толщиной в пиксель?


9-1117053822
XCoder
2005-05-26 00:43
2005.09.25
GL_MODELVIEW


14-1125343961
DillerXX
2005-08-29 23:32
2005.09.25
MP3-Player


1-1125986905
granni
2005-09-06 10:08
2005.09.25
OpenDialog


4-1122809089
Duk_
2005-07-31 15:24
2005.09.25
Драйвер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский