Я могу успешно заполнить контрольный список в vb.net данными, хранящимися в базе данных, с этим кодом:
Private Sub report_enter() Handles tp_report.Enter
Dim rep As DataTable = sqlite.SelectData("SELECT field,name,obligatory from cnf_oblfields WHERE module='report'")
clb_obl.DataSource = rep
clb_obl.ValueMember = "field"
clb_obl.DisplayMember = "name"
For i = 0 To rep.Rows.Count - 1
clb_obl.SetItemChecked(i, sqlite.Int2Bool(rep.Rows(i).Item(2)))
Next
End Sub
Теперь пользователь может установить и снять некоторые флажки. Я хочу сохранить новый статус этих параметров обратно в таблицу. Я попробовал этот код:
Private Sub bt_obli_save_Click(sender As Object, e As EventArgs) Handles bt_obli_save.Click
For Each item In clb_obl.Items
Dim row As DataRow = item.row
MsgBox("INSERT OR REPLACE INTO cnf_oblfields ('field', 'obligatory') VALUES ('" & item.item("field").ToString & "', '" & item.item("obligatory").ToString & "')")
Next
End Sub
Моя проблема в том, что SUB, который должен записать результаты обратно в базу данных, возвращает исходные данные, а не изменения, которые я сделал. Вероятно, это связано с привязкой данных на заднем плане?
Спасибо за вашу помощь!
Lukas