无法在Visual Studio中使用预制登录控件

时间:2016-07-30 21:04:57

标签: mysql visual-studio-2015

我正在使用visual studio中工具箱中的“登录”框。所有格式等都已内置,如登录框和密码框等。但由于某种原因,除非我手动替换@username和@password,否则我无法让def f(input): x = precompute(input) stuff_for_A = create_A_list(x) stuff_for_B = create_B_list(x) stuff_for_C = create_C_list(x) return stuff_for_A,stuff_for_B,stuff_for_C A,B,C = [f(input) for input in iterable] 返回0以外的任何内容。用123和5551212进入SQL字符串。

if (Convert.ToInt32(obj) != 0)

protected void Login_Authenticate(object sender, AuthenticateEventArgs e)
{
    using (MySqlConnection con = new MySqlConnection(strcon))
    {
        string UserName = Login.UserName;
        string Password = Login.Password;

        str = "select count(*) from users where username=@username and userpassword=@userpassword";
        com = new MySqlCommand(str, con);

        com.CommandType = CommandType.Text;
        com.Parameters.Add("@username", MySqlDbType.VarChar).Value = UserName;
        com.Parameters.Add("@userpassword", MySqlDbType.VarChar).Value = Password;

        try
        {
            con.Open();
            obj = com.ExecuteScalar();

            if (Convert.ToInt32(obj) != 0)
            {
                Response.Redirect("Welcome.aspx");
            }
            else
            {
                Login.PasswordRequiredErrorMessage = "invalid user name and password";
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        con.Close();
    }
}

总是给我一个0的obj,我永远无法登录。但是,正如我上面所说,如果我将SQL字符串中的变量更改为正确的登录名和密码,则count返回为1,然后我可以登录。

帮助表示感谢!我不确定我错过了什么。使用MySQL,或更具体地说,使用MariaDB。

0 个答案:

没有答案