16. april 2002 - 00:24
Der er
8 kommentarer og 2 løsninger
modtage værdi fra SP
Hvordan modtager jeg en værdi fra en Stored procedures. - SP ----------------------------- @slet int Output Set @slet='ok' - VB ------------------------------ sql$ = "EXECUTE SP_SletSammeNavn @navn='" & navn & "';" objConn.Execute (sql) msgbox @slet
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
16. april 2002 - 00:30
#1
Den bedste (mest fleksible) måde er at slutte sin sp med at select'e de værdier man gerne vil have ud og så lægge følgende kode i VB: dim rs as adodb.recordset set rs = objConn.Execute(sql) msgbox rs.fields(0).value
16. april 2002 - 00:31
#2
Det skal selvfølgelig siges at det til gengæld ikke er den bedste måde at overføre værdier mellem stored procedures, men det er en helt anden historie.
16. april 2002 - 00:37
#3
Det jeg godt kunne tænke mig, er at kunne sende en besked tilbage fra SP, om hvad der er gjort. feks. set @besked='Der blev slette 2, oprette 7 nye'
16. april 2002 - 01:37
#4
Mit problem er hvordan man får fat i @besked, på den bedste måde, i visual basic.
16. april 2002 - 08:15
#5
Prøv med RaisError ('Besked til VB', 16, 1) i SP'en (RaisError er kun med et dobbelt r). Skal selvfølgelig stå til aller sidst i SP'en da det betragtes som en error i SQL Så i VB dim rs as adodb.recordset On Error Resume Next set rs = objConn.Execute(sql) msgbox rs.fields(0).value MsgBox Err.Description Jeg er ikke sikker på at det virker men prøv det! //Nolle_K
16. april 2002 - 09:53
#6
Jeg synes generelt det er forkert at benytte fejlhåndteringen til ting der reelt ikke er fejl. Prøv i stedet: I sp'en: declare @deleted int declare @inserted int Insert into .... set @inserted = @@RowCount Delete from ... set @deleted = @@RowCount select 'Slettet: ' + cast(@deleted as varchar) + ' poster, Oprettet: ' + @inserted + ' poster.' Eller select @deleted, @inserted Og så i VB: msgbox "Slettet: " & rs.fields(0).value & " poster, Oprettet: " & rs.fields(0).value & " poster.".
16. april 2002 - 09:54
#7
Ups, jeg glemte at "modificere" @inserted. Erstat @inserted i select-statementet med cast(@inserted as varchar).
16. april 2002 - 10:15
#8
Det synes jeg også men det er da en måde at løse problemet på!
16. april 2002 - 15:20
#9
Tak jeg fik det til at virke...
16. april 2002 - 15:26
#10
Hvordan endte det med at du gjorde??
Kurser inden for grundlæggende programmering