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

Вниз

Master-detail хранимой процедуры   Найти похожие ветки 

 
Vick   (2003-06-10 18:54) [0]

Доброго всем вечера!
Возникла проблема, может кто подскажет: у меня есть 2 АДО-датасета, связанные между собой Master-detail, но detail - выполняется хранимая процедура - и связка почему-то не работает. Как это исправить или обойти???
Заранее спасибо.


 
MOA   (2003-06-10 18:57) [1]

А как проявляется неработоспособность?


 
Vick   (2003-06-10 18:59) [2]

>MOA

А просто первый датасет выводит все свои данные, а второй - все свои, что самое главное, выполняю то же самое не хранимой процедурой, а запросом - все отлично


 
MOA   (2003-06-10 19:04) [3]

А если посмотреть профайлером (если у Вас 2000, или SQL Trace, если 7) - посмотрите аргументы процедуры.
Удачи!


 
Vick   (2003-06-11 10:10) [4]

Процедура выдает, то что ей сказано, при чем правильно, но я должна на в Делфи связку делать, мне кажеться эта ерунда не работает, потому что в процедуре есть параметры, потому что и просто запрос с параметрами тоже не работает :(((((


 
MOA   (2003-06-11 10:23) [5]

Я имел в виду, в качестве первого шага - посмотрите профайлером MSSQL, какие значения аргументов получает Ваша процедура. Как правило, этого достаточно, чтобы быстро найти место ошибки.
>кажеться эта ерунда не работает, потому что в процедуре есть параметры
А вот это место мне совсем не ясно. Как же без параметров организовать Detail?
Удачи!


 
Vick   (2003-06-11 10:31) [6]

>>кажеться эта ерунда не работает, потому что в процедуре есть >>параметры
>А вот это место мне совсем не ясно. Как же без параметров >организовать Detail?

Элементрано, в AdoDataSet есть свойсво Master-Detail.
Усть 2 запроса типа:

select DOC_ID, NUM_DOC from DOC_REPORTS where DAT_ >= :DAT

и

select DOC_ID, CODE_EKKA, NUMBER, PRICE from DOC_TABLES where DAT_ >= :DAT

Связываю эти 2 датасета по полю DOC_ID - не пашет, как только убираю во втором where DAT_ >= :DAT - все отлично.




 
MOA   (2003-06-11 10:37) [7]

А это не мастер - деталь. Мастер деталь - это

select DOC_ID, CODE_EKKA, NUMBER, PRICE from DOC_TABLES where DOC_ID_ >= :DOC_ID

Всё чинно - у Вас к тому же имя параметря совпадает с именем мастер-поля.
Удачи!


 
MOA   (2003-06-11 10:37) [8]

А это не мастер - деталь. Мастер деталь - это

select DOC_ID, CODE_EKKA, NUMBER, PRICE from DOC_TABLES where DOC_ID_ = :DOC_ID

Всё чинно - у Вас к тому же имя параметря совпадает с именем мастер-поля.
Удачи!


 
Vick   (2003-06-11 10:50) [9]

Эти 2 запроса в разных датасетах находятся!!!


 
MOA   (2003-06-11 10:55) [10]

Естественно, в разных. Мастер-деталь - это когда в одном из датасетов (мастере) находится ключевое поле, по которому выбираются записи из второго. Например, в "мастере" - ИД накладной, в "детали" - товары в накладных. Товары для данной накладной отбираем из "детали" по ИД накладной.
Удачи!


 
MOA   (2003-06-11 10:58) [11]

В пред-предылдущем посте я привёл выражение из "детального!" датасета, чтобы связка и впрямь стала связкой "мастер-деталь". В первом датасете запрос:

select DOC_ID, NUM_DOC from DOC_REPORTS where DAT_ >= :DAT

Во втором датасете (детали) запрос:

select DOC_ID, CODE_EKKA, NUMBER, PRICE from DOC_TABLES where DOC_ID = :DOC_ID
,где :DOC_ID Вы беоёте из первого датасета.

Удачи!



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

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

Наверх





Память: 0.46 MB
Время: 0.007 c
4-7755
mtihonov1954
2003-04-30 05:59
2003.07.03
hook


1-7506
Bel
2003-06-20 11:04
2003.07.03
Где реализация TStrings.Delete?


6-7583
alik_os
2003-04-29 16:57
2003.07.03
список компьютером включенные в данный момент в локальной сети


1-7382
Smoke
2003-06-22 21:47
2003.07.03
ListView


14-7623
Marser
2003-06-17 19:07
2003.07.03
Жан-Поль Бельмондо,





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский