Как сохранить идентификаторы в выбранных флажках да или нет ?
У меня есть 45 пунктов, которые имеют флажки " да " или "нет". Мне нужно сохранить идентификатор и флажки, которые были проверены Пользователем в базе данных.
Пример:
1 ID : Big yes[] no[] 2 ID : Hard [] no[]
и так далее до 45 ID.
У меня проблема с этим кодом! Пожалуйста, помогите!
Что я уже пробовал:
For Each c As Control In Panel1.Controls For Each c1 As Control In Panel2.Controls If TypeOf c Is CheckBox Then If TypeOf c1 Is CheckBox Then If CType(c, CheckBox).Checked Then If CType(c1, CheckBox).Checked Then Dim constring As String = "data source=DESKTOP-9NE9FIF\SQLEXPRESS;initial catalog=Sample1;Integrated Security=True" Using con As New SqlConnection(constring) Using cmd As New SqlCommand("INSERT INTO array_tbl(array_id,Answer) VALUES(@id,@answer)", con) cmd.Parameters.AddWithValue("@id", lbl) cmd.Parameters.AddWithValue("@answer", chk) con.Open() cmd.ExecuteNonQuery() End Using End Using End If End If End If End If Next Next
Maciej Los
I'm having a problem with this code! Please help!это совсем не описательно!
Какие у вас проблемы? Пожалуйста, будьте более конкретны и предоставьте более подробную информацию о вашей проблеме.
Member 14127874
Спасибо за редактирование .
Member 14127874
Я хочу вставить идентификатор, а также ответ пользователя на флажки в одной кнопке.
Maciej Los
Пожалуйста, используйте виджет "ответить", чтобы сообщить мне (или кому-либо еще) о вашем ответе. Наведите курсор на мой комментарий, и вы увидите виджет "ответ" в правой части моего логина.
Кстати: Ваш вопрос все еще неясен, потому что мы не знаем, какой ответ вы хотите сохранить (да или нет или только проверено?). Какое поле вы используете на уровне базы данных для хранения такой информации?
Member 14127874
sql server - это моя база данных.
Member 14127874
sql server 2017
Maciej Los
Я не спрашивал вас о версии базы данных... Пожалуйста, внимательно прочтите мой комментарий и ответьте на мои вопросы.
CHill60
Почему вы проходите через элементы управления Panel2 каждый раз, когда смотрите на элемент управления Panel1?
Где же флажки? (Панель1 и Панель2 или как?)
Вероятно, вы получаете сообщение об ошибке, которое говорит, что у вас уже есть запись для этого идентификатора.
Каково содержание переменной lbl
- вы не обновляете его в циклах, так что он всегда будет одним и тем же
Member 14127874
panel1 сохраняет флажок да или нет, в то время как panel2 сохраняет идентификаторы.
Member 14127874
Разве это неправильно ?
CHill60
Да.Пройдите через каждую панель только один раз
Member 14127874
Dim lbl предназначен для идентификации личности
CHill60
Но вы никогда ничего ему не приписываете
Member 14127874
Я его туда не включал.
Member 14127874
Но я ставлю lbl = 1
lbl=2
и так далее.
CHill60
Нет, в коде, который вы опубликовали, вы этого не делаете - вы обходите цикл внутри цикла с тем же значением lbl. И вы до сих пор не сказали нам в чем ошибка
ErrorMadness
Попробуйте эту ссылку:
https://www.codeproject.com/Answers/1275460/How-to-save-the-checkboxes-that-is-beeing-checked#answer1
CHill60
Это не поможет нашей операции. Основная проблема заключается в том, что они не знают, что они делают, и не знают разницы между ярлыками и флажками или как флажки должны работать. Излишнее размещение элементов управления на панелях фактически ухудшает ситуацию.
Member 14127874
А как насчет удостоверения личности?
Например, вопрос 1 имеет идентификатор 1, затем вопрос 2 имеет идентификатор два и так далее до вопроса 45. Как мне включить его туда ?
CHill60
Я включил идентификаторы в свое решение. Если вы хотите чтобы они были видны включите их в текст
Member 14127874
Спасибо за вашу помощь.