我正在创建一个包含用户名和密码的登录窗口。我有一个数据表,其中包含用户信息,当用户尝试登录时(在代码末尾),我正在使用else..if语句。它假设检查用户名和密码并验证它是否与表中的内容相匹配。如果它没有,则假设出现消息框。此外,朝着最后的其他... if语句用户JANITOR根本不登录!可能导致此问题的原因是什么?他们都登录正常,除了最后一个用户JANITOR和我的消息框没有出现!
mencoder -idx 1E03004920160411093036001.avi -ovc copy -oac copy -o 1E03004920160411093036001-a.avi
答案 0 :(得分:0)
逻辑流程没有任何问题。我的猜测是你的输入中有空格。试试这个:
string userName = UserText.Text.Trim();
string passwrd = PassText.Text.Trim();
这将从输入中删除空格和制表符。现在用userName替换你使用UserText.Text的所有地方,并用passwrd替换PassText.Text。
您可能还想尝试为此TYPE字段创建一个变量,如下所示:
string userType = dt1.Rows[0][0].ToString().Trim();
例如:
private void xButton1_Click(object sender, EventArgs e)
{
string userName = UserText.Text.Trim();
string passwrd = PassText.Text.Trim();
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Mohamed\Documents\UserData.mdf;Integrated Security=True;Connect Timeout=30");
SqlDataAdapter sda = new SqlDataAdapter("Select Count (*) From dbo.[LOGIN] where username='" + userName + "' and Password ='" + passwrd + "'", con);
DataTable dt = new DataTable();
sda.Fill(dt);
我希望有所帮助。
我认为这是一个不能在现实世界中使用的学习项目。如果没有,请重新考虑你在做什么。你真的不应该推出自己的安全系统。您的代码中存在一个经典的SQL注入攻击漏洞,可能会危及整个系统。
如果这是一个学校项目继续你正在做的事情,但你可能想问教授SQL注入攻击是什么。
祝你好运!