私は、ユーザーがUserID(int)またはユーザー名(string)を使用してログインできるようにしようとしています。私がこれを行うことを考えた方法は、文字列を受け入れるメソッドとintを受け入れるメソッドの2つの別々のメソッドを作成することです。しかし、私はこれを動作させることができませんでしたし、よりよい解決策があるようです。この方法でメソッドをオーバーロードすることは可能ですか?
public static string ForgotPassword (string username)
{
using (var conn = new SqlConnection(GetConnectionString()))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText =
@"SELECT
Password
FROM
Distributor
WHERE
Username = @username";
cmd.Parameters.AddWithValue("@username", (string)username);
using (var reader = cmd.ExecuteReader())
{
if (!reader.Read())
{
// no results found
return null;
}
return reader.GetString(reader.GetOrdinal("Password"));
}
}
}
public static string ForgotPassword (int username)
{
using (var conn = new SqlConnection(GetConnectionString()))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText =
@"SELECT
Password
FROM
Distributor
WHERE
DistributorID= @username";
cmd.Parameters.AddWithValue("@username", (int)username);
using (var reader = cmd.ExecuteReader())
{
if (!reader.Read())
{
// no results found
return null;
}
return reader.GetString(reader.GetOrdinal("Password"));
}
}
}
user_idまたはユーザー名でログインできるようにするにはどうすればよいですか?
最初に試したときにうまくいかなかったのは何ですか? –
このアプローチではどのようなエラーがありましたか? – Tuan
私は決してエラーを受け取りませんでした。それは、私がメソッドの文字列バージョンを呼び出すと常に仮定していました。パスワードとしてtestuserと1234でログインできました。しかし私が101とパスワード1234を実行したとき、データベースには何も見つかりませんでした。 –