|
Как в коде VB получить значение выходного параметра хранимой процедуры???
|
|||
---|---|---|---|
#18+
делаю клиентское приложение в access 2007 для sql server 2005 обработчик события click: передаю входные параметры ХП: @b_code, @r_un, @date_z, @srok_v (это всё Input), выходной параметр: @out_msg (output): CurrentDb.QueryDefs("new_registration").SQL = "use library EXECUTE new_registration @b_code='" & Me.ПолеСоСписком20.Value & "', @r_un='" & [ПолеСоСписком3] & "', @date_z='" & Me.Поле58.Value & "', @srok_v='" & Me.Поле38.Value & "', @out_msg=1 " выполняю запрос: DoCmd.OpenQuery ("new_registration") запрос хорошо отрабатывается, но вот не мзнаю, как в VB получить значение выходного параметра @out_msg (int) !!! вот сама ХП: ALTER proc [dbo].[new_registration] @b_code char(10), @r_un int, @date_z datetime, @srok_v datetime=null, @out_msg int output as exec ostatok /*обращаюсь к процедуре подсчета текущего числа экземпляров каждой книги по каждому залу*/ declare @rr char(10) set @rr=(select library.dbo.readers.rr_id from library.dbo.readers where library.dbo.readers.reader_un=@r_un) /*вычисляю номер зала, за которым закреплен читатель*/ if (select book_ost from library.dbo.book_count where library.dbo.book_count.book_code=@b_code and library.dbo.book_count.rr_id=@rr)>0 /*определяю наличие экземпляров (>=1) выбранной книги в зале*/ and (select library.dbo.readers.Date_vyp from library.dbo.readers where library.dbo.readers.reader_un=@r_un) is NULL /*"валидация" читателя*/ begin INSERT INTO Registration (book_code, reader_un, date_zakr, srok_vozvr) VALUES (@b_code, @r_un, convert(datetime,@date_z,104), convert(datetime,@srok_v,104)) /*если хотя бы один экземпляр выбранной книги имеется в наличии, осуществляю акт регистрации записи в регистрационном журнале*/ exec ostatok /*обновляю сведения о текущем количестве книг*/ set @out_msg=1 end else begin set @out_msg=0 end return @out_msg Помогите, пожалуйста, братцы, сроки меня поджимают уже!!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 00:20 |
|
Как в коде VB получить значение выходного параметра хранимой процедуры???
|
|||
---|---|---|---|
#18+
Не надо возится с выходными параметрами, возвращай все что нужно через рекродсеты. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 01:57 |
|
Как в коде VB получить значение выходного параметра хранимой процедуры???
|
|||
---|---|---|---|
#18+
но мне не нужны рекордсеты (я не отчет строю, и не выборку какую-нибудь, а просто добавляю запись в таблицу с предпроверкой кучи условий), так вот, в зависимости от сценария выполнения процедуры (блок If), мне в accesse нужно будет показать одно сообщение: типа "ок, запись добавлена", если же процедура выполнилась по другому сценарию (блок else), то показываю пользователю другой мессадж: "запись НЕ сохранена, перепроверь входящие данные". так вот чтобы показывать эти мессаджы, надо знать, как процедура выполнилась, а кроме привязки этого результата к выходным параметрам, я ничего не придумала... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 02:19 |
|
Как в коде VB получить значение выходного параметра хранимой процедуры???
|
|||
---|---|---|---|
#18+
везде пишут про ADODB.Command, НО: Dim cmd As ADODB.Command сразу выдает ошибку: User-defined type not defined ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 02:24 |
|
Как в коде VB получить значение выходного параметра хранимой процедуры???
|
|||
---|---|---|---|
#18+
Это вообще возможно: присвоить переменной VB значение выходного параметра ХП SQL??????? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 02:26 |
|
Как в коде VB получить значение выходного параметра хранимой процедуры???
|
|||
---|---|---|---|
#18+
Kyubi, даже если Вас съел лев у вас два пути: - добавить ссылку на библиотеку Microsoft ActiveX Data Objects 2.X Library - использовать другой синтаксис: Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 02:29 |
|
Как в коде VB получить значение выходного параметра хранимой процедуры???
|
|||
---|---|---|---|
#18+
KyubiЭто вообще возможно: присвоить переменной VB значение выходного параметра ХП SQL???????можно ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 02:42 |
|
Как в коде VB получить значение выходного параметра хранимой процедуры???
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3.
скукотища, не могли бы Вы поподробнее расписать этот момент, то есть слепить аналог этому: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
используя Dim cmd AsObject и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 03:12 |
|
Как в коде VB получить значение выходного параметра хранимой процедуры???
|
|||
---|---|---|---|
#18+
Пошла другим путем: добавила-таки ссылку на Microsoft ActiveX Data Objects 2.X Library в Tools\References сделала тестовую ХП "fu"^ Код: plaintext 1. 2. 3. 4.
вызываю в VB: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
выдает ошибку: "Произошли ошибки во время выполнения пошаговой операции OLE DB. По восзможности проверьте значения всех состояний OLE DB/ Работа не выполнена" укажите, пожалуйста, на мою ошибку! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 04:18 |
|
Как в коде VB получить значение выходного параметра хранимой процедуры???
|
|||
---|---|---|---|
#18+
Kyubiделаю клиентское приложение в access 2007 для sql server 2005 Kyubiвыдает ошибку: "Произошли ошибки во время выполнения пошаговой операции OLE DB. По восзможности проверьте значения всех состояний OLE DB/ Работа не выполнена" ...эээ, а "клиентское приложение в access 2007" у вас НЕ adp ? просто тот код, что выше, - рабочий. но только в адп, если у вас mdb/accdb - то какой же тут CurrentProject.Connection ? нужно создать коннекшен к серверу, и уже его присваивать cmd.ActiveConnection Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 09:21 |
|
Как в коде VB получить значение выходного параметра хранимой процедуры???
|
|||
---|---|---|---|
#18+
Kyubiно мне не нужны рекордсеты (я не отчет строю, и не выборку какую-нибудь, а просто добавляю запись в таблицу с предпроверкой кучи условий), так вот, в зависимости от сценария выполнения процедуры (блок If), мне в accesse нужно будет показать одно сообщение: типа "ок, запись добавлена", если же процедура выполнилась по другому сценарию (блок else), то показываю пользователю другой мессадж: "запись НЕ сохранена, перепроверь входящие данные". так вот чтобы показывать эти мессаджы, надо знать, как процедура выполнилась, а кроме привязки этого результата к выходным параметрам, я ничего не придумала... раз смысл вых.параметра только в этом, то, тогда, проще "незаморачиватся" с ними, а использовать "код возврата" процедуры (вы, кстати, его в своей процедуре устанавливаете) типа так Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 11:48 |
|
Как в коде VB получить значение выходного параметра хранимой процедуры???
|
|||
---|---|---|---|
#18+
Почему сразу АДО? ДАО тоже может Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2011, 14:15 |
|
|
start [/forum/topic.php?fid=60&fpage=103&tid=2158774]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 400ms |
total: | 543ms |
0 / 0 |