Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Wartość zwracana przez procedurę SQL

54 views
Skip to first unread message

siwy5

unread,
Mar 10, 2021, 5:59:45 AM3/10/21
to
Witam

Procedura wykonuje się poprawnie ale powinna mi zwrócić wartość (ilośćGodzin) Jak dostać się do zwracanej wartości?

conn.Execute "TestProcSql 1, 2021, 2", ile
ile zawsze zwraca 1

Pozdrawiam
Daniel

siwy5

unread,
Mar 11, 2021, 8:05:07 AM3/11/21
to
Coś się dogrzebałem - ale nie działa

Set cmd = New ADODB.Command
cmd.ActiveConnection = cn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "proceduraSQL" 'proceduraSQL( @Id int , @Rok int , @Mc int )

cmd.Parameters.Append cmd.CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue, 0)
cmd.Parameters.Append cmd.CreateParameter("Id", adInteger, adParamInput, 4, 1)
cmd.Parameters.Append cmd.CreateParameter("Rok", adInteger, adParamInput, 4, 2021)
cmd.Parameters.Append cmd.CreateParameter("Mc", adInteger, adParamInput, 4, 2)

cmd.Execute Options:=adExecuteNoRecords


msgbox cmd.Parameters("RETURN_VALUE") 'tu powinna zwrócić wartość ale zwraca 0
msgbox cmd.Parameters("PrcId")



Pomoże ktoś?

Pozdrawiam
Daniel


wardzyn

unread,
Mar 11, 2021, 7:21:01 PM3/11/21
to
po pierwsze:
wrzuć może jak wygląda procedurka.
Zależy co chcesz odczytać (czyli de facto jak wygląda procedura) - parametr out (adParamOutput) z procedury czy return (adParamReturnValue).

> cmd.Parameters.Append cmd.CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue, 0)
to zero na końcu zbędne.

Pozdr
Wardzyn

siwy5

unread,
Mar 12, 2021, 1:01:43 AM3/12/21
to
Procedura poniżej. Nigdzie nie widze parametrów OUT i RETURN.
Odczytać chcę z niej @Wynik

ALTER PROCEDURE [db].[proceduraSQL] ( @Id int , @Rok int , @Mc int )
As
Begin
DECLARE @Wynik int
...
...
...

select @Wynik = .....
select @Wynik
END


wardzyn

unread,
Mar 12, 2021, 4:17:22 PM3/12/21
to
w procedurze na końcu zamiast
> select @Wynik
return @Wynik

pozdro

Wardzyn

siwy5

unread,
Mar 16, 2021, 7:58:11 AM3/16/21
to
piątek, 12 marca 2021 o 22:17:22 UTC+1 wardzyn napisał(a):
Dzięki serdeczne. Działa z Return-em

Pozdrawiam
Daniel
0 new messages