How do i let users login with Email and password but select records with UserName
here is what i have
for login
protected void ValidateUser(object sender, EventArgs e)
{
string constr = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("Validate_User"))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.CommandType = CommandType.StoredProcedure;
// Session["FriendUserName"] = LoginINNOVATION.UserName;
// Session["UserName"] = LoginINNOVATION.UserName;
// Session["Email"] = LoginINNOVATION.UserName;
// Session["Id"] = UserID;
//cmd.Parameters.AddWithValue("@Id", UserID);
// cmd.Parameters.AddWithValue("@Email", LoginINNOVATION.UserName);
cmd.Parameters.AddWithValue("@Email", LoginINNOVATION.UserName);
cmd.Parameters.AddWithValue("@Password", (LoginINNOVATION.Password));
cmd.Parameters.AddWithValue("@UserName", (LoginINNOVATION.UserName));
// cmd.Parameters.AddWithValue("@Phone", ctlLogin.UserName);
cmd.Connection = con;
con.Open();
UserID = Convert.ToInt32(cmd.ExecuteScalar());
con.Close();
}
switch (UserID)
{
case -1:
LoginINNOVATION.FailureText = "Username or password not correct.";
break;
case -2:
LoginINNOVATION.FailureText = "Account has not been activated.";
break;
case -3:
LoginINNOVATION.FailureText = "Your Password.";
break;
default:
FormsAuthentication.RedirectFromLoginPage(LoginINNOVATION.UserName, LoginINNOVATION.RememberMeSet);
break;
}
}
}
}
login procedure
ALTER PROCEDURE [dbo].[Validate_User]
@Email VARCHAR (200),
@UserName NVARCHAR(200),
@Password NVARCHAR(20)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @UserId INT, @LastLoginDate DATETIME
SELECT @UserId = UserId, @LastLoginDate = LastLogin
FROM User3 WHERE [UserName] = @UserName AND [Password] = @Password
IF @UserId IS NOT NULL
BEGIN
IF NOT EXISTS(SELECT UserId FROM UserActivation WHERE UserId = @UserId)
BEGIN
UPDATE User3
SET LastLogin = GETDATE()
WHERE UserId = @UserId
SELECT @UserId [UserId] -- User Valid
END
ELSE
BEGIN
SELECT -2 -- User not activated.
END
END
ELSE
BEGIN
SELECT -1 -- User invalid.
END
END
procedure for selecting record on home page
ALTER PROCEDURE [dbo].[GetUSERPRO]
@UserName VARCHAR (200),
@FriendUserName VARCHAR (200),
@Name VARCHAR (200)
AS
BEGIN
SELECT UserId,Email,Name,UserName,ImageName,Country,CONVERT(VARCHAR (20),RegisterdDate, 106) RegisteredDate,CONVERT(VARCHAR (20),LastLogin, 106) LastLogin
FROM [User3]
WHERE UserName=@UserName
END
So on this how do i let users use email to login but use username to either insert or select records