jonneMedlem sedan jan. 20011 154 inlägg Liten fråga. Har ett par lagrade procedurer för exv inert. Hur använder jag dessa i asp ?
Har testat att göra på detta sättet:
strName = Request.Form("ffName")
strPhone = Request.Form("ffPhone")
paramstring = paramstring &"'"&strName&"','"&strPhone&"'"
objCN.execute ("exec dbo.insert_tblUsers_1 " & paramstring)
och det verkar ju fungera, men är det såhär man ska göra eller finns det något smidigare/annorlunda sätt?
------------------
Varför får inte jag köra småsten när Tommy Körberg?
[Redigerat av jonne den 03 aug 2001]
LarsGMedlem sedan dec. 200012 464 inlägg Ja, om du inte har några utparametrar så är det enklaste sättet. Tycker att det ser smidigt ut.
Om proceduren har utparametrar så får man använda ett kommandoobjekt
------------------
essentitia preter non sans multiplicandum
BomaMedlem sedan aug. 200160 inlägg Det finns en bra artikel om procedurer och ASP på:
http://www.aspfaq.com/faq/sp.asp
jonneMedlem sedan jan. 20011 154 inlägg LarsG>> Lust att utveckla "utparametrar" ? :)
------------------
Varför får inte jag köra småsten när Tommy Körberg?
LarsGMedlem sedan dec. 200012 464 inlägg Tja, om man använder SQL servers procedurer så behöver man knappast utparametrar. Det är enklare att returnera värdena som ett resultatset i stället
create procedure x (@x int output,@y int output) as
...
set @x = 47
...
set @x = 11
då är det likvärdigt att skriva
create procedure x as
declare @x int
declare @y int
...
set @x = 47
...
set @x = 11
select @x,@y
vilket är enklare att hantera i VB-script då man får upp det som ett vanligt recordset
Om man nu har utparametrar så måste man skapa parameterobjekt och lagra i kommandoobjektet
Set ogr = server.createobject("adodb.command")
ogr.CommandText = "nisse"
ogr.CommandType = adCmdStoredProc
aleb = request.form("aleb")
Set parIn = ogr.CreateParameter("percentage", adInteger, adParamInput)
ogr.Parameters.Append parIn
parIn.Value = aleb
Set parIn = ogr.CreateParameter("percentage", adInteger, adParamOutput)
ogr.Parameters.Append parOut
ogr.execute
response.write parOut.value
Ungefär så, som synes så blir det bra mycket mer kod med parameterhanteringen. Det kan vara en fördel att använda kommandoobjektet om man skall anropa en procedur flera gånger fast med olika värden och då är det bara att sätta value för parametern och anropa execute. (Det blir då ingen omkompilering av execute satsen, vilket det skulle bli om man byggde den dynamiskt för varje anrop.)
------------------
essentitia preter non sans multiplicandum
jonneMedlem sedan jan. 20011 154 inlägg Tackar och bockar.
------------------
Varför får inte jag köra småsten när Tommy Körberg?