I want to store this values in session variables.
plz help me with the code and solution
below is my code
protected void ValidateUser(object sender, EventArgs e)
{
int userId = 0;
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("Validate_User"))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Username", txtUname.Text.Trim());
cmd.Parameters.AddWithValue("@Password", txtPassword.Text.Trim());
cmd.Connection = con;
con.Open();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
userId = Convert.ToInt32(cmd.ExecuteScalar());
con.Close();
if (dt.Rows.Count > 0)
{
Session["uid"] = dt.Columns[0].ToString();
Session["Username"] = dt.Columns[1].ToString();
Session["city"] = dt.Columns[2].ToString();
Response.Redirect("Redirectform.aspx");
Session.RemoveAll();
}
else
{
lblmsg.Text = "You're username and word is incorrect";
lblmsg.ForeColor = System.Drawing.Color.Red;
}
}
switch (userId)
{
case -1:
lblmsg.Text = "Username and/or password is incorrect.";
break;
case -2:
lblmsg.Text = "Account has not been activated.";
break;
default:
//FormsAuthentication.RedirectFromLoginPage(Login1.UserName, Login1.RememberMeSet);
break;
}
}
}
This is my stored Procedure..validated user
ALTER PROCEDURE [dbo].[Validate_User]
@Username NVARCHAR(20),
@Password NVARCHAR(20)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @UserId INT, @LastLoginDate DATETIME
SELECT @UserId = UserId, @LastLoginDate = LastLoginDate
FROM Users WHERE Username = @Username AND [Password] = @Password
IF @UserId IS NOT NULL
BEGIN
IF NOT EXISTS(SELECT UserId FROM UserActivation WHERE UserId = @UserId)
BEGIN
UPDATE Users
SET LastLoginDate = 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
{
int userId = 0;
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("Validate_User"))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Username", txtUname.Text.Trim());
cmd.Parameters.AddWithValue("@Password", txtPassword.Text.Trim());
cmd.Connection = con;
con.Open();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
userId = Convert.ToInt32(cmd.ExecuteScalar());
con.Close();
if (dt.Rows.Count > 0)
{
Session["uid"] = dt.Columns[0].ToString();
Session["Username"] = dt.Columns[1].ToString();
Session["city"] = dt.Columns[2].ToString();
Response.Redirect("Redirectform.aspx");
Session.RemoveAll();
}
else
{
lblmsg.Text = "You're username and word is incorrect";
lblmsg.ForeColor = System.Drawing.Color.Red;
}
}
switch (userId)
{
case -1:
lblmsg.Text = "Username and/or password is incorrect.";
break;
case -2:
lblmsg.Text = "Account has not been activated.";
break;
default:
//FormsAuthentication.RedirectFromLoginPage(Login1.UserName, Login1.RememberMeSet);
break;
}
}
}
This is my stored Procedure..validated user
ALTER PROCEDURE [dbo].[Validate_User]
@Username NVARCHAR(20),
@Password NVARCHAR(20)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @UserId INT, @LastLoginDate DATETIME
SELECT @UserId = UserId, @LastLoginDate = LastLoginDate
FROM Users WHERE Username = @Username AND [Password] = @Password
IF @UserId IS NOT NULL
BEGIN
IF NOT EXISTS(SELECT UserId FROM UserActivation WHERE UserId = @UserId)
BEGIN
UPDATE Users
SET LastLoginDate = 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
Bikesh SrivastavaPosted Oct 6, 2016, 11:54 PM
safal agrawalPosted Oct 7, 2016, 12:01 AM
Madhanmohan Devarajan
{
int userId = 0;
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("Validate_User"))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Username", txtUname.Text.Trim());
cmd.Parameters.AddWithValue("@Password", txtPassword.Text.Trim());
cmd.Connection = con;
con.Open();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
DataTable dt = new DataTable();
sda.Fill(dt);
userId = Convert.ToInt32(cmd.ExecuteScalar());
if (dt.Rows.Count > 0)
{
lblmsg.Text = "Login Successful";
Session["uid"] = dt.Rows[0]["UserId"].ToString(); //stores user name
Session["Username"] = dt.Rows[0]["Password"].ToString();
Session["city"] = dt.Rows[0]["City"].ToString();
Response.Redirect("~/Home.aspx");
}
else
{
lblmsg.Text = "Login failed";
}
con.Close();
con.Dispose();
}
}
}
Madhanmohan DevarajanPosted Oct 6, 2016, 9:47 AM
SELECT @UserId = UserId, @LastLoginDate = LastLoginDate
FROM Users WHERE Username = @Username AND [Password] = @Password
Session["Username"] = dt.Columns[1].ToString();
Session["city"] = dt.Columns[2].ToString();
Response.Redirect("Redirectform.aspx");
Session.RemoveAll(); //Why you are removing all session content after creating session variables?