|
|
|
Не могу получить значение выходного параметра SP
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. cmd.Parameters.Refresh ... cmd.Parameters("@DRAFTID") = t cmd.Execute Debug.Print cmd.Parameters("@DRAFTID") Debug.Print cmd.Parameters("@RETURN_VALUE") печатают в окне отладки значение t и "" соответственно. Где собака зарылась? В QA вроде-бы все нормально возвращается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2004, 20:47 |
|
||
|
Не могу получить значение выходного параметра SP
|
|||
|---|---|---|---|
|
#18+
A какой у тебя connection? Учти, что cmd.Parameters.Refresh не работает ,если используется CurentProject.Connection. И вообще,cmd.Parameters.Refresh лучше не использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2004, 21:17 |
|
||
|
Не могу получить значение выходного параметра SP
|
|||
|---|---|---|---|
|
#18+
Гетц, т.2, стр. 235В Access 2000 метод Refresh не работал со стандартным подключением проекта - CurrentProject. В Access 2002 этот недостаток устранен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2004, 21:21 |
|
||
|
Не могу получить значение выходного параметра SP
|
|||
|---|---|---|---|
|
#18+
Сделал заполнение параметров через createParameter В частности, Set prm = cmd.CreateParameter("@DRAFTID", adInteger, adParamOutput) cmd.Parameters.Append prm Тот же мячик :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2004, 21:43 |
|
||
|
Не могу получить значение выходного параметра SP
|
|||
|---|---|---|---|
|
#18+
кстати, попробовал вот: Код: plaintext 1. 2. 3. 4. и Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. результат: aaa 2 @RETURN_VALUE @parameter1 123 Т.е. не работает именно SCOPE_IDENTITY(), судя по всему. @@IDENTITY дает то же самое... Продублирую-ка в bid=1... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2004, 23:02 |
|
||
|
Не могу получить значение выходного параметра SP
|
|||
|---|---|---|---|
|
#18+
Я такие штуки отлаживал, когда ещё не было Access 2002, и поэтому никогда не пользовался в таких случаях методом .Refresh, ибо сразу понял, что в через CurrentProject.Connection он корректно будет работать, видимо, только в следующей жизни :). Вообще, учитывая, что CurrentProject.Connection в ADP - это "слоёный пирог" из двух ADO-провайдеров - MSDataShape и MSSQL (любой может в этом убедиться, заглянув в значение свойства CurrentProject.Connection.ConnectionString), не следует удивляться тому, что при доступе к базе данных через CurrentProject.Connection что-то работает "как-то не так". Так что я советую .Refresh всё же не пользоваться, а заполнять коллекцию параметров "вручную". По крайней мере, так ни с одной процедурой у меня никаких проблем с передачей параметров как "туда", так и "оттуда", включая возвращаемое RETURN значение, не было - но это только после того, как изрядно попотел над отладкой: о разных тонкостях мне не у кого было спросить. Одной из таких "тонкостей" является следующая: небезразличным является порядок, в котором параметры вами добавляются в коллекцию .Parameters, в частности, критически важным является то, чтобы в первую очередь обязательно был добавлен параметр для возвращаемого RETURN значения, вот примерно так (привожу самый наглядный пример из работающей базы данных - процедура через OUTPUT-параметр возвращает "очередной" номер для вновь создаваемого платёжного поручения, а через RETURN может возвращать некую служебную информацию, но в конкретном случае у меня ничего не возвращает): Код: plaintext 1. 2. 3. 4. 5. 6. 7. Строку "RETURN_VALUE", похоже, можно заменить на любую другую - имеет значение позиция параметра, а не его имя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2004, 14:45 |
|
||
|
Не могу получить значение выходного параметра SP
|
|||
|---|---|---|---|
|
#18+
Разобрался. На добавление в tDrafts висел триггер, в котором стояло Commit Trans. Убрал эту строку - все заработало... Заяем ее туда воткнул - не знаю... Когда ж я хоть немножко научусь cкуелю этому... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2004, 18:27 |
|
||
|
Не могу получить значение выходного параметра SP
|
|||
|---|---|---|---|
|
#18+
Гетц, т.2, стр. 235В Access 2000 метод Refresh не работал со стандартным подключением проекта - CurrentProject. В Access 2002 этот недостаток устранен. Вранье. Работает, но не на всех к-х. Везде работает только cmd.parameters.append cmd.createparameter ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2004, 11:26 |
|
||
|
Не могу получить значение выходного параметра SP
|
|||
|---|---|---|---|
|
#18+
Сам недавно писал об этом:\r .....\r \r Если запрос типа UPDATE с параметрами, то параметров в запросе не видать, а Refresh благополучно очищает коллекцию параметры когда их добавляешь через .Append prm\r .... токо я не знал что эти приколы могут быть связаны с объектом CurrentProject.Connection ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2004, 12:07 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32468293&tid=1675584]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
141ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 473ms |

| 0 / 0 |
