Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
GridViewのフッターを使用したレコード追加について
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30454#CommentId83768
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
ASP.NET初心者
 (社会人)
投稿日時
2020/2/25 10:24:07
お世話になります。初めて投稿させて頂きます。
GridViewへSQLServerデータをバウンドし修正、削除といった動きは実現出来ています。
新規に最下行よりレコードを追加する機能を組み込みたいので、テンプレートにてフッターを用意し
テキストボックスやチェックボックスを配置しました。
フッター上のボタンをクリックした時に
For Each key As String In Request.Form.AllKeys
If key.Contains("フッター上のテキストボックス") Then
SqlDataSource.InsertParameters.Add(New ControlParameter("DB項目", TypeCode.Int32, key, "Text"))
End If
If key.Contains("フッター上のチェックボックス") Then
SqlDataSource.InsertParameters.Add(New ControlParameter("DB項目", TypeCode.Boolean, key, "Checked"))
End If
以下、画面項目数分列挙
Next
SqlDataSource.Insert()
といったコーディングをしました。
全ての項目を入力し、チェックボックスもOnにした場合はレコードが追加されます。
テキストボックスを未入力にした場合も値=Nullで追加されます。
しかし、チェックボックス未選択の状態では先のkey.Containsにチェックボックスのキーが取得出来ずInsertが異常終了します(メッセージ=スカラー変数"@DB項目名"を宣言してください)
何か根本的な作法が間違っているのでしょうか?よろしくお願いします。
DB側の問題ではないと思っておりますが、DB上のチェックボックス項目はBit、Nullを許可しております。