投稿者 社会人  (社会人) 投稿日時 2014/6/12 13:58:33

※今までログイン成功時に移動するFmMainをFmBaseに名前を変更しました。

>その問題もありますが、そもそも今のコードだと、ユーザー名が「McDonald's」だった場合にエラーになります。

一つ確認です。
ログインの際にTextBox1にユーザーID(1000,2000)、TextBox2にパスワード(1A450,98BOC)の半角英数字と半角のローマ字の二種類のみの構成になっています。
記号(&、%、$、¥、')などは使用していませんが、問題を回避する理由はユーザー名を取り出す際になんらかの問題やエラーが起こらないようにする為の対策でしょうか?
今、ログインをする際にユーザー名を使用する意味で捉えていますが大丈夫でしょうか?

>フォーム非依存の Main プロシージャから始めるという処理方法です。

http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=17599を参考に、「プロジェクト」→「項目の追加」→「クラス」で新規作成するという事でしょうか?


> Hide しているのがなんだか不自然に思えたのです。

FmLoginをHideする理由なんですが、実際にフォーム移動した際にFmLoginが二つ表示されるようになっています。
原因は分かりませんが、FmLoginでHideした後にFmBaseでFmLoginをCloseをするとログイン認証画面が消え、画面上にはFmBaseだけが表示されます。
FmLoginのShowとCloseはコメント化にして動作確認をして変化が無かったので消しました。

>モーダルフォームとして DialogResult で呼ばれているのが不自然です。
最初にいくつか確認なんですが
・DialogResultは、何かしらのデータを保存する際に使用するコード?
・モーダルフォームを展開中は、他のフォームをアクティブやデータの加工が出来ない。
・モードレスフォームを展開中は、他のフォームをアクティブやデータの加工は出来る
という認識で当たっていますか?
知識不足で失礼ですが、質問の意味が良く分かりません。
もう少し詳しい説明をして頂くと助かります。

>そこで、それらを一つの変数で管理できるよう、「UserInfoクラス」を作成するということです。

分かりました。既に作ってしまった「FmUserInfo」を削除して、プログラムを実行して早い段階で「UserInfo」クラスの設定を行うように設定します。

>曖昧な理解ではまずいと思いますよ。(^^;
すみません。
以前、教えて頂いたコードをコピーして自分の環境に合わせると動くようになったのでそこで詳しい内容を聞かずして終わりにしてしまいました。
教えた頂いた際に提示した設定は「ユーザーIDとかユーザー名を抜き出す必要は無いから、単純にユーザーIDとパスワードが合致した場合だけログインする」という内容で、RESULTをInteger型に設定しています。

>ということは、先の部分のコードは、下記のような意味になるのでしょうか。
コードは上から下に流れるのが基本ですが、何故、SQLを実行する前に IF RESULTが先に実行されるのでしょうか?
魔界の仮面弁士さんが指摘するまで、SQL実行後にIF RESULTが実行されると思ってました。