|
|
|
Возвращает первую запись
|
|||
|---|---|---|---|
|
#18+
Сделал хранимую процедуру там использую курсор для передвижения по записям. Когда смотрю через дебугер возвращает 3 записи как положенно а когда запускаю из Аксесса возращает только первую В чем причина??? declare Proba cursor FOR select id FROM dbo.table1 Open Proba fetch proba into @id WHILE @@FETCH_STATUS = 0 BEGIN Exec @ID2=[Procedure1] @id if @Id2=@CodePr - входной параметр begin Select * From dbo.table1 where ID=@ID Fetch next from Proba into @ID end else Fetch next from Proba into @ID end close Proba deallocate Proba return ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 15:33 |
|
||
|
Возвращает первую запись
|
|||
|---|---|---|---|
|
#18+
Забыл сказать adp AccessXP SQL2000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 15:49 |
|
||
|
Возвращает первую запись
|
|||
|---|---|---|---|
|
#18+
Скорее всего Аксесс получает первую запись и на том успокаивается. Нужно переделать sp так, чтобы она возвращала записи в одном запрсе, например через временную таблицу или накапливать id в строковой переменной, типа @id = 1 or @id = 2......... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 15:51 |
|
||
|
Возвращает первую запись
|
|||
|---|---|---|---|
|
#18+
вот оно, старое наследие рекордсета, так и тянет народ на перебор записей. запросы для этого есть. даже сами sql-цы советуют не использовать перебор записей: падает резко производительность судя по твоей процедуре перебор по-моему не нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 15:53 |
|
||
|
Возвращает первую запись
|
|||
|---|---|---|---|
|
#18+
Во Временную таблицу не могу, так как потом нужно что бы была возможность редактировать эти записи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 15:54 |
|
||
|
Возвращает первую запись
|
|||
|---|---|---|---|
|
#18+
Как не нужен, если не буду делать перебор то он будет постояно обрабатывать тольео 1-ю запись. А мне нужно перебрать все записи по очереди, так как с каждой записью я запускаю на исполнение процедуру2 которая возаращает нужные записи, кот соот-ют этим перебираемым записям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 15:58 |
|
||
|
Возвращает первую запись
|
|||
|---|---|---|---|
|
#18+
что делает вторая хп? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 16:06 |
|
||
|
Возвращает первую запись
|
|||
|---|---|---|---|
|
#18+
Когда смотрю через дебугер возвращает 3 записи как положенно Что это за зверь такой "дебугер" ? Что бы это ни было (подозреваю что Query Analyzer), но он возвращает не три записи, а три раза по одной (есть разница?!) Хам правильно сказал наследие работы с рекордсетами сказывается. Данную проблему решить можно по разному. И решать ее нужно не перебором записей, а формированием условия для отбора. Как вариант во временную таблицу сформировать записи (даже с помощью курсора, хотя и не желательно), а затем отобрать из нужной таблицы те записи, которые присутствуют во временной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 16:06 |
|
||
|
Возвращает первую запись
|
|||
|---|---|---|---|
|
#18+
Дебугер - да в QA жму на процедуру правой кнопкой и Debug :-)) да вы правы он отбирает мне 3 раза по одной записи и причем они все разные а аксес получает первую и все. Как же быть,аааа Целый день просидел над этими процедурами и........ :-(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 16:13 |
|
||
|
Возвращает первую запись
|
|||
|---|---|---|---|
|
#18+
инколду debugger есть такой зверь причем классный зверь в нем можно построчно идти по хп и проверять правильность выполнения хп аналог как в VBA. вызывается из QA в контекстном меню для конкретной хп но... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 16:14 |
|
||
|
Возвращает первую запись
|
|||
|---|---|---|---|
|
#18+
Да Debug классная вещь, очень удобная видно по шагам что присходит и кто чего кому передает. Но почему он мне 3 раза возвращает по одной записи а не все 3 хором, хотя выполняет все за одни раз, тоесть не выходит из хп. пока не переберет все записи с 1-й по последнею Че делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 16:17 |
|
||
|
Возвращает первую запись
|
|||
|---|---|---|---|
|
#18+
Ладно, мне уже до дому пора. может кто нить еще сможет что нить посоветовать. Спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 16:22 |
|
||
|
Возвращает первую запись
|
|||
|---|---|---|---|
|
#18+
2 Хам Я знаю, что есть такой режим в QA. Но он работает только если сервер для одного пользователя, а у меня не так, поэтому не пользуюсь. 2 Dmit Можно извратиться и заставить аксес забирать три раза по одной записи, но это коряво и не правильно. Я же дал вариант. Вместо селектов, делаешь инсерт во временную таблицу, а после цикла выбор из таблицы записей, которые присутствуют во временной. Есть еще варианты, но думаю что все это борьба с последствиями, а не с причиной. Скажи для чего все это нужно. Думаю можно обойтись без курсора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2003, 16:36 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32197438&tid=1680756]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 382ms |

| 0 / 0 |
