我正在使用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。