int ID = int.Parse(TextBox1.Text);
string PW = TextBox2.Text;
bool a = false, b = false;
while (dataReader.Read())
{
if ((int)dataReader[0] == ID)
{
a = true;
}
if ((string)dataReader[8] == PW)
{
b = true;
break;
}
}
if (!a)
{
errorms.Text = "IDが存在しません";
topMessage.Visible = true;
}
else if (!b)
{
errorms1.Text = "パスワードが間違っています";
topMessage.Visible = true;
}
else
{
c#
c#
vs2017 でDBを接続してログイン認証チェック(id,pw)をしています。DBにid,pwの値が存在しない場合に”このidは存在しません”と表示させることはできるのですが、DBに値はあるが、ユーザ1のid、ユーザ2のpwが選択された場合に”idが間違っています”と表示させることができません。
Re: c#
まずは作りたいものの仕様をはっきりさせるのがいいでしょう。
・ユーザ1のid、ユーザ1のpwが選択された場合の表示は?
・ユーザ1のid、存在しないpwが選択された場合の表示は?
・存在しないid、ユーザ1のpwが選択された場合の表示は?
・存在しないid、存在しないpwが選択された場合の表示は?
・ユーザ1のid、ユーザ2のpw (ただしユーザ1のpwと同じ) が選択された場合の表示は?
・ユーザ1のid、ユーザ1のpwが選択された場合の表示は?
・ユーザ1のid、存在しないpwが選択された場合の表示は?
・存在しないid、ユーザ1のpwが選択された場合の表示は?
・存在しないid、存在しないpwが選択された場合の表示は?
・ユーザ1のid、ユーザ2のpw (ただしユーザ1のpwと同じ) が選択された場合の表示は?
オフトピック
そもそもidが存在するかどうかでメッセージを変えないべきだという主張もありますが…
IPA ISEC セキュア・プログラミング講座:C/C++言語編 第7章 データ漏えい対策:親切すぎるエラーメッセージの回避
IPA ISEC セキュア・プログラミング講座:C/C++言語編 第7章 データ漏えい対策:親切すぎるエラーメッセージの回避
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)