SuperCyber
Programmer
Is there anyway to make this code run more efficient? I have added my APS calling code and the SQL stored procedure. Thanks for any help or input, it is very appreciated.
Brian
------------------ASP Code------------------
Dim cmdGetCust, varLogin, varPassword, strID, strFirstName, strLastName, strLogin
varLogin = Request("LOGIN_EMAIL"
varPassword = Request("LOGIN_PASSWORD"
Set cmdGetCust = Server.CreateObject("ADODB.Command"
With cmdGetCust
.ActiveConnection = connAPS
.CommandText = "sproc_CustLogIn"
.CommandType = adCmdStoredProc
.Parameters.Append .CreateParameter("@Login",adVarChar,adParamInput,50,varLogin)
.Parameters.Append .CreateParameter("@Password",adVarChar,adParamInput,50,varPassword)
.Parameters.Append .CreateParameter("@custID",adInteger,adParamOutput)
.Parameters.Append .CreateParameter("@custFirstName",adVarChar,adParamOutput,50)
.Parameters.Append .CreateParameter("@custLastName",adVarChar,adParamOutput,50)
.Parameters.Append .CreateParameter("@RETVAL",adInteger,adParamReturnValue)
.Execute
strLogin = .Parameters("@RETVAL"
strID = .Parameters("@custID"
strFirstName = .Parameters("@custFirstName"
strLastName = .Parameters("@custLastName"
End With
------------------SQL Stored Proc---------------
Alter Procedure sproc_CustLogin
@Login varchar(50),
@Password varchar(50),
@custID int = null OUTPUT,
@custFirstName varchar(50) = null OUTPUT,
@custLastName varchar(50) = null OUTPUT,
@RETVAL int = null OUTPUT
AS
DECLARE @chkPassword varchar(50)
set nocount on
-- Pull the record regardless of password
SELECT @chkPassword = custPassword
FROM tblCustomers
WHERE CONVERT(varbinary(50),custEmail) = CONVERT(varbinary(50),@Login)
IF @@ROWCOUNT > 0 --Found the login
BEGIN
SET @RETVAL =
CASE
WHEN CONVERT(varbinary(50),@chkPassword) = CONVERT(varbinary(50),@Password) THEN 3
ELSE 2
END
IF @RETVAL = 3
BEGIN
SELECT @custID = custID,@custFirstName = custFirstName,@custLastName =custLastName
FROM tblCustomers
WHERE custEmail = @Login
END
END
ELSE
BEGIN
SET @RETVAL = 1
END
RETURN @RETVAL
set nocount off
Brian
------------------ASP Code------------------
Dim cmdGetCust, varLogin, varPassword, strID, strFirstName, strLastName, strLogin
varLogin = Request("LOGIN_EMAIL"
varPassword = Request("LOGIN_PASSWORD"
Set cmdGetCust = Server.CreateObject("ADODB.Command"
With cmdGetCust
.ActiveConnection = connAPS
.CommandText = "sproc_CustLogIn"
.CommandType = adCmdStoredProc
.Parameters.Append .CreateParameter("@Login",adVarChar,adParamInput,50,varLogin)
.Parameters.Append .CreateParameter("@Password",adVarChar,adParamInput,50,varPassword)
.Parameters.Append .CreateParameter("@custID",adInteger,adParamOutput)
.Parameters.Append .CreateParameter("@custFirstName",adVarChar,adParamOutput,50)
.Parameters.Append .CreateParameter("@custLastName",adVarChar,adParamOutput,50)
.Parameters.Append .CreateParameter("@RETVAL",adInteger,adParamReturnValue)
.Execute
strLogin = .Parameters("@RETVAL"
strID = .Parameters("@custID"
strFirstName = .Parameters("@custFirstName"
strLastName = .Parameters("@custLastName"
End With
------------------SQL Stored Proc---------------
Alter Procedure sproc_CustLogin
@Login varchar(50),
@Password varchar(50),
@custID int = null OUTPUT,
@custFirstName varchar(50) = null OUTPUT,
@custLastName varchar(50) = null OUTPUT,
@RETVAL int = null OUTPUT
AS
DECLARE @chkPassword varchar(50)
set nocount on
-- Pull the record regardless of password
SELECT @chkPassword = custPassword
FROM tblCustomers
WHERE CONVERT(varbinary(50),custEmail) = CONVERT(varbinary(50),@Login)
IF @@ROWCOUNT > 0 --Found the login
BEGIN
SET @RETVAL =
CASE
WHEN CONVERT(varbinary(50),@chkPassword) = CONVERT(varbinary(50),@Password) THEN 3
ELSE 2
END
IF @RETVAL = 3
BEGIN
SELECT @custID = custID,@custFirstName = custFirstName,@custLastName =custLastName
FROM tblCustomers
WHERE custEmail = @Login
END
END
ELSE
BEGIN
SET @RETVAL = 1
END
RETURN @RETVAL
set nocount off