ユーザーID(int)またはユーザー名(文字列)を使用してログインできるようにしようとしています。これを行うことについて私が考えた方法は、文字列を受け入れるメソッドと 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 またはユーザー名でログインできるようにする最善の方法は何ですか?