###前提・実現したいこと
閲覧頂き有難うございます。
C#、SQLについて質問があります。
アプリを制作しているのですが、「チェックボックスがあり、ONならばテキストボックスが出てきてDBにパラメーターを追加するかしないか」という動作を行いたいです。
チェックボックスがONならばテキストボックスの値をDBに追加する
チェックボックスがOFFならばチェックボックスがONのときに入力したデータがあってもDBに追加しないようにする
この動作を行いたいのですが、現在のままだとチェックボックスをOFFにするとパラメーターの値がありませんとなります。
チェックボックスがONの場合は正常に動きます、OFFの場合にパラメーターがありませんと言われます。
この状態だとどのみちエラーになるのですがnullを入れようとした結果なのですが、
本来はnullではなく「チェックボックスがOFFの場合はチェックボックスがONのときに入力した値を残したまま、DBに登録をさせない」という処理をさせたいです。
(チェックボックスをON→OFF→ON 一個目のONのときに入力したデーターが二個目のONのときに見れなくなるのは防ぎたいため)
どうかご教授お願い致します。
###ソース(変数の名称等変更しています)
C#
1 2 3 string execQuery = string.Empty; 4 5 if (チェックボックスがONの場合) 6 { 7 execQuery = string.Format(sqlScan, "TIME, ", "@TIME, "); 8 Ctrl.AddParameter("@TIME", CtrlTbx_Time.Text); 9 10 } 11 else 12 { 13 execQuery = string.Format(sqlScan, "", ""); 14 Ctrl.AddParameter("@TIME", null); 15 16 } 17
SQL
1 2 public const string SQL_SCAN_INSERT = 3 "INSERT INTO SCAN(TIME, )"+ 4 "VALUES("@TIME,) "; 5
###補足情報(言語/FW/ツール等のバージョンなど)
VisualStudio2008
SQLServer2014
###追記
たくさんの回答ありがとうございます。
質問に記載漏れがありました。
DBに登録するデータはこの@TIMEだけでなくほかにもあるので、単純にelseの中でパラメーターを送信しないだけなら何もかかなくてもよいのはわかるのですが、そのほかの情報もあるので、そのほかの情報は送りつつ、この@TIMEの値だけ登録しない。
とゆう処理を行いたいです。
またテキストボックスで入力する際の型はnvarcharでDBに登録する際の型はnumericです。
どうかご教授お願い致します。
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/17 04:20
2016/10/17 12:29
2016/10/21 05:50