タイトル通り、重複があったらエラーメッセージを表示させるようにするコードを
現在書いているのですが、思うようにいかないのです。
やりたいことは、主キーとなっている担当者コードとnumeric_担当者コード.Valueで指定した数値が一致したときに
エラーメッセージを表示させるということです。
SQL文でCOUNT とDISTINCTを使っているのですが、
そのためにデータグリッドビューのデータにあるコードとnumeric.valueの値が一致したときに
エラーメッセージを出すようにしたいのにstaff_idはデータ内の個数を取ってくるため、一致させることができません。
以下、コードになります。
private void button1_Click(object sender, EventArgs e) { // 登録ボタン押下時の処理 // 重複のない担当者コードを取る command.CommandText = "SELECT COUNT(DISTINCT 担当者コード) AS 担当者コード FROM 担当者マスタ"; command.Connection = common.connection; SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { staff_id = (int)reader.GetValue(reader.GetOrdinal("担当者コード")); } reader.Close(); // 半角英数記号のチェック System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex("^[a-zA-Z0-9!-/:-@¥[-`{-~]+$"); if (txt_担当者名.Text == "") {// 省略 } else if (staff_id == numeric_担当者コード.Value) { //メッセージボックスを表示する DialogResult result = MessageBox.Show("担当者コードが重複しています。", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (!r.IsMatch(txt_メールアドレス.Text) && !r.IsMatch(txt_メールアドレス.Text)) { // 省略 } else { // 省略 }
「numericUpDownで指定した数値」とありますが、コードにUpDownとの語は含まれていません。質問とコードの内容は、ちゃんと関連が判るようにしてください。
回答2件
あなたの回答
tips
プレビュー