- - PR -
IF 〜 ELSE IF 〜 IF
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2002-10-04 20:11
こんな単純な.NETのバグはありえないと思うのですが、
以下のコードでmode == "update" の場合、 処理Bを実行後、処理Cも実行されます。 この件に関して情報をお持ちの方は、ぜひご連絡ください。 switch文を用いても同様に1つのcase句の処理を行った後、default句の処理も実行されます。 string mode; if ( mode == "new" ) { //処理A } //更新の場合 else if( mode == "update") { //処理B } else { //処理C(エラーをthrow) } |
|
投稿日時: 2002-10-04 20:30
再現させようとしましたが、
他のプログラムだと再現しませんでした。 念のため、ソースを貼り付けました。 よろしくお願いいたします。 private void Page_Load(object sender, System.EventArgs e) { try { string mode = ""; lbMessage.Text = ""; //モードを取得 mode = Application.Get("mode").ToString(); //mode = "update"; //ドロップダウンリストのデータ連結 sqlConnection1.Open(); fillListData(); sqlConnection1.Close(); //テキストボックスに表示 if ( IsPostBack ) return; //JOB種類ドロップダウンをバインド dlJobnoKind.DataBind(); //新規登録の場合 if ( mode == "new" ) { //リンクボタンのTextをセット LinkButton1.Text = "新規登録"; //期を"05"にセット(仮) tbJobnoPeriod.Text = "05"; } //更新の場合 else if( mode == "update") { LinkButton1.Text = "更新"; //RequestオブジェクトからIDパラメータ値を取り出す int jobID = Int32.Parse(Request.Params["ID"]); //int jobID=1; //クエリの@IDに値をセット sqlDataAdapter1.SelectCommand.Parameters["@ID"].Value = jobID; //JOBデータを取得 sqlConnection1.Open(); sqlDataAdapter1.Fill(dataSet1); //textboxにデータを表示 setTextData(); sqlConnection1.Close(); } else { mode = "a"; } } catch(SqlException )//DBエラー { lbMessage.Text = "SQLServerが警告またはエラーを返しました"; //lbMessage.Text = ex.Message.ToString(); string mes = lbMessage.Text; } } |
1