私は私の会社のための小さなアプリケーションを作っていますが、ユーザーがログインして特定のデータにアクセスできるようにしていますが、サーバーサイドではデータベースを照会してMySqlDataReaderは読み取りません。次のコード:MySqlDataReader does not read
public string HandleLogin(string uname, string pwd)
{
MySqlDataReader READER;
int count = 0;
int clearance = 0;
if (uname == "" || pwd == "")
return "";
CONN = new MySqlConnection();
CONN.ConnectionString = Config.CONNSTRING;
string query = "select * from members where username='" + uname + "' and password='" + pwd + "'";
try
{
CONN.Open();
COMMAND = new MySqlCommand(query, CONN);
READER = COMMAND.ExecuteReader();
while(READER.Read())
{
count = count + 1; //<-- this should happen, but it doesnt
if (count == 1)
clearance = READER.GetInt32("clearance");
else
return "";
}
if (count == 1)
return Convert.ToString(clearance);
else
return "";
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
return "";
}
finally
{
CONN.Dispose();
}
}
私はそれが0を言ったが、私は、トリプルのすべての値をチェックし、彼らは正確にデータベースの値と一致するが、それはありませんを読み、それが見つかった行の量を求め、1行を読んでください確信していますクエリの行これは非常に愚かな間違いかもしれませんが、私は問題を見つけることができません。
SQLのテキストが正しいかどうかを確認してください。 uname/pwd変数内の空白を探します。 – RajN
チェックしましたか、接続は開いていますか? – Clock
@RajNagalingamそれは正しいです、@ devlincarnateパスワードがデータベースにハッシュされ、サーバーがそれを受け取る前に@ SomeUser hmmmありがとう、私は確かにそれを調べます –