登录页面不成功
本文关键字:不成功 登录 | 更新日期: 2023-09-27 18:34:47
>我有一个带有用户和密码控制的登录页面。当我单击登录按钮时,脚本使用存储过程(LoginCheck(检查数据库表(寄存器(中用户和密码的可用性,但是当我输入数据时,它永远不会成功,它总是失败。
下面是代码脚本:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void LoginBtn_Click(object sender, EventArgs e)
{
DataTable dt= new DataTable();
SqlDataAdapter adp = new SqlDataAdapter();
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Mydatabase"].ConnectionString);
try
{
SqlCommand cmd = new SqlCommand("LoginCheck", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@User", TextUsr.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@Password", TextPass.Text.Trim().ToString());
adp.SelectCommand = cmd;
adp.Fill(dt);
cmd.Dispose();
if (dt.Rows.Count > 0)
{
lblStatus.Text = "Login Successfully" + dt.Rows.Count.ToString();
clearcontrols();
}
else
{
lblStatus.Text = "Wrong username of password "+dt.Rows.Count.ToString();
}
}
catch (Exception ex)
{
lblStatus.Text = ex.Message.ToString();
}
finally
{
// reader.Close();
dt.Clear();
dt.Dispose();
adp.Dispose();
conn.Close();
}
}
private void clearcontrols()
{
TextUsr.Text = "";
TextPass.Text = "";
}
}
下面是存储过程:
CREATE PROCEDURE LoginCheck
@User nvarchar(50),
@Password nvarchar(50)
AS
BEGIN
Select * from Register where User=@User and Password=@Password
END
我找到了导致登录失败的原因,是表寄存器中的列名用户,它与框架中的系统用户名冲突,我更改为用户名,现在工作正常。