为什么这个C#SQL登录系统不起作用?

Shr*_*500 0 c# sql database

我不确定我在这里做错了什么.

我没有得到实际的错误,但每次都返回false:

string commandString = 
    "SELECT * FROM UserTable WHERE Username = @UserName";
DataTable result = new DataTable();
using (SqlCommand command = new SqlCommand(commandString, dataConnection))
{

    command.Parameters.Add("@UserName", SqlDbType.VarChar).Value = info.username;
    using (SqlDataReader dr = command.ExecuteReader())
    {
        result.Load(dr);
    }
}
if (result.Rows.Count > 0)
{
    Console.WriteLine((string)result.Rows[0]["Password"]);
    Console.WriteLine((string)result.Rows[0]["Username"]);
    Console.WriteLine(info.password);
    Console.WriteLine(info.username);
    string dbPassword = (string)result.Rows[0]["Password"];
    if (string.Compare(dbPassword, info.password) == 0)
        return true;
    else return false;
}
else
    return false;
Run Code Online (Sandbox Code Playgroud)

Tim*_*mVK 7

我想我看到了问题

if (result.Rows.Count == 0) 
Run Code Online (Sandbox Code Playgroud)

需要是

if (result.Rows.Count == 1) 
Run Code Online (Sandbox Code Playgroud)

否则,检查是否有0行而不是1行,然后可以检查数据所在的第0行的结果