c#

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
くぇwq

c#

#1

投稿記事 by くぇwq » 2年前

vs2017 でDBを接続してログイン認証チェック(id,pw)をしています。DBにid,pwの値が存在しない場合に”このidは存在しません”と表示させることはできるのですが、DBに値はあるが、ユーザ1のid、ユーザ2のpwが選択された場合に”idが間違っています”と表示させることができません。

コード:

 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
                {

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: c#

#2

投稿記事 by みけCAT » 2年前

まずは作りたいものの仕様をはっきりさせるのがいいでしょう。
・ユーザ1のid、ユーザ1のpwが選択された場合の表示は?
・ユーザ1のid、存在しないpwが選択された場合の表示は?
・存在しないid、ユーザ1のpwが選択された場合の表示は?
・存在しないid、存在しないpwが選択された場合の表示は?
・ユーザ1のid、ユーザ2のpw (ただしユーザ1のpwと同じ) が選択された場合の表示は?
オフトピック
そもそもidが存在するかどうかでメッセージを変えないべきだという主張もありますが…
IPA ISEC セキュア・プログラミング講座:C/C++言語編 第7章 データ漏えい対策:親切すぎるエラーメッセージの回避
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

返信

“C言語何でも質問掲示板” へ戻る