CREATEPROCEDURE dbo.aspnet_Membership_GetUserByName @ApplicationNamenvarchar(256), @UserNamenvarchar(256), @CurrentTimeUtcdatetime, @UpdateLastActivitybit=0 AS BEGIN DECLARE@UserIduniqueidentifier IF (@UpdateLastActivity=1) BEGIN -- Dadi, 11.08.2006 -- Am adaugat eu cda 'select' de mai jos. Fara ea nu se poate executa cda 'update' care actualizeaza LastActivityTime. --Pb. provine din faptul ca variabila @UserId nu era niciunde initializata SELECTTOP1@userId=u.UserId FROM dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m WHERELOWER(@ApplicationName) = a.LoweredApplicationName AND u.ApplicationId = a.ApplicationId AND LOWER(@UserName) = u.LoweredUserName AND u.UserId = m.UserId ------------- SELECTTOP1 m.Email, m.PasswordQuestion, m.Comment, m.IsApproved, m.CreateDate, m.LastLoginDate, @CurrentTimeUtc, m.LastPasswordChangedDate, u.UserId, m.IsLockedOut,m.LastLockoutDate FROM dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m WHERELOWER(@ApplicationName) = a.LoweredApplicationName AND u.ApplicationId = a.ApplicationId AND LOWER(@UserName) = u.LoweredUserName AND u.UserId = m.UserId IF (@@ROWCOUNT=0) -- Username not found RETURN-1 UPDATE dbo.aspnet_Users SET LastActivityDate =@CurrentTimeUtc WHERE@UserId= UserId END ELSE BEGIN SELECTTOP1 m.Email, m.PasswordQuestion, m.Comment, m.IsApproved, m.CreateDate, m.LastLoginDate, u.LastActivityDate, m.LastPasswordChangedDate, u.UserId, m.IsLockedOut,m.LastLockoutDate FROM dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m WHERELOWER(@ApplicationName) = a.LoweredApplicationName AND u.ApplicationId = a.ApplicationId AND LOWER(@UserName) = u.LoweredUserName AND u.UserId = m.UserId IF (@@ROWCOUNT=0) -- Username not found RETURN-1 END RETURN0 END GO