Jag läste lite i BOL och kom fram till vad BEGIN var för något. Så jag ändrade koden, och det blev mycket bättre:
CREATE PROCEDURE AddNewPost
@UID varChar(15), --User ID
@PWD varChar(10), --Password
@Topic varChar(40), --Message Topic
@Body varChar(2000), --Message Body Text, 2000 chars
@MsgRef int, --Message Reference
@GroupRef int, --Group Reference
@MsgLevel int --Message Level
AS
---See if username and password are corre with the same name exists
IF EXISTS(SELECT ID
FROM Users
WHERE UID = @UID --Check User ID
AND PWD = @PWD) --Check Password
BEGIN
DECLARE @PostAdded Int --Return value
DECLARE @PostDate dateTime
DECLARE @UserID int
SELECT @PostAdded = 1, -- If user exists return true
@PostDate = GetDate(), --Set Current Date
@UserID = (SELECT ID
FROM Users
WHERE UID = @UID --Check User ID
AND PWD = @PWD) --Check Password
INSERT INTO Posts (Msgref,GroupRef,PostDate,Topic,UserID,Body,MsgLevel)
VALUES (@MsgRef,@GroupRef,@PostDate,@Topic,@UserID,@Body,@MsgLevel)
UPDATE Users
SET NoOfPosts = NoOfPosts + 1
WHERE ID = @UserID
RETURN @PostAdded --Return true if user exists
END
ELSE
SELECT @PostAdded = 0 -- Else return false
Men jag har fortfarande inte kommit ifrån att jag måste göra om password checken innan jag får id:t på usern. :(
Testade att nesta det med IF EXISTS. Men utan resultat.
Och vet fortfarande inte ifall det finns någon eval/execute sak (som jag beskrev i min förra post).
Är det någon som är väldigt bra på det här så får den personen Väldigt gärna agera lite personlig support och adda mig på ICQ #1462514. Eller bara svara här. Jag har lite mer frågor nämligen.
------------------
/Magnus aka Zaphod
www.designmodule.com.bi