Är ganska så färsk vad gäller stored procedures och skulle därför behöva lite hjälp.
Har en stored procedure som ser ut så här:
CREATE PROCEDURE sp_forumReplyToTopic
@intBelongsToTopic int,
@strText ntext,
@dteDate datetime,
@intPoster int,
@strShowSignature varchar(10),
@strIP varchar(50),
@intBelongsInForum int
AS
/* Add reply to database */
INSERT INTO tablePosts (BelongsToTopic, Text, Date, Poster, ShowSignature, IP)
VALUES (@intBelongsToTopic, @strText, @dteDate, @intPoster, @strShowSignature, @strIP)
/* Update topic with info about latest reply and latest poster */
UPDATE tableTopics
SET LatestReplyDate = @dteDate, LatestReplyPoster = @intPoster
WHERE ID = @intBelongsToTopic
/* Update forum with info about latest reply and latest poster */
UPDATE tableForums
SET LatestPostDate = @dteDate, LatestPostPoster = @intPoster
WHERE ID = @intBelongsInForum
/* Get the total amounts of replies to this topic */
SELECT COUNT(*) AS TotalPosts FROM tablePosts WHERE BelongsToTopic = @intBelongsToTopic
GO
SPn tar emot ett gäng parametrar och uppdaterar databasen. Jag vill även att den skall returnera ett värde (TotalPosts).
Jag anropar SPn så här:
Set rs = Server.CreateObject("ADODB.Recordset")
SQLSQuery = "EXEC sp_forumAddNewTopic " &_
"@intBelongsToTopic=" & BelongsToTopic & ", " &_
"@strText='" & Text & "', " &_
"@dteDate='" & theDate & "', " &_
"@intPoster=" & PosterID & ", " &_
"@strShowSignature='" & ShowSignature & "', " &_
"@strIP='" & Request.ServerVariables("REMOTE_ADDR") & "', " &_
"@intBelongsInForum=" & BelongsInForum
Connect.Execute(SQLSQuery)
intTotalReplies = rs("TotalPosts")
rs.Close
Set rs = nothing
Men när jag exekverar koden får jag detta felmeddelande:
@intBelongsToTopic is not a parameter for procedure sp_forumAddNewTopic.
Om jag skriver ut strängen SQLQuery ser den ut så här:
[kod]
EXEC sp_forumAddNewTopic @intBelongsToTopic=6, @strText='test', @dteDate='3/22/2003 2:14:06 AM', @intPoster=1, @strShowSignature='yes', @strIP='127.0.0.1', @intBelongsInForum=6