转换varchar值时转换失败'密码'到数据类型int

时间:2014-07-09 16:29:53

标签: c# asp.net sql

我使用C#在asp.net中创建登录页面。但是当我检查用户名和密码时,我收到以下错误:转换varchar值时转换失败'密码'到数据类型int

如何解决这个问题?

以下是我的代码:

public partial class Default2 : System.Web.UI.Page
{
    SqlConnection cn = new SqlConnection();
    protected void Page_Load(object sender, EventArgs e)
    {
        cn.ConnectionString=@"Data Source=(LocalDB)\v11.0;AttachDbFilename=c:\Users\user\documents\visual studio 2012\WebSites\WebSite4\App_Data\Database.mdf;Integrated Security=True";
        cn.Open();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        SqlCommand cmmd = new SqlCommand("select * from jig where UserName=@username and PassWord=@password",cn);
        cmmd.Connection = cn;
        cmmd.Parameters.AddWithValue("@username", TextBox1.Text);
        cmmd.Parameters.AddWithValue("@password", TextBox2.TextMode);
        SqlDataAdapter daa = new SqlDataAdapter(cmmd);
        DataTable dtt = new DataTable();
        daa.Fill(dtt);
        if (dtt.Rows.Count > 0)
        {
            Response.Redirect("default.aspx");
        }
        else
        {
            ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Invalid Id/Password')</script>");
        }
    }
}

1 个答案:

答案 0 :(得分:1)

尝试替换

PassWord=@password

cast(PassWord as varchar(max))=cast(@password as varchar(max))

如果您知道密码最大长度是多少,请使用该密码而不是varchar(max)。