powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Не обновляется источник combobox-а.
10 сообщений из 10, страница 1 из 1
Не обновляется источник combobox-а.
    #39148704
Agapov_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго времени суток!
На форме комбо с источником BindingSource(bsTypeNameDevice).
При отсутствии в списке значения пытаюсь внести в базу и в комбик соответственно.
Для адаптера прописаны все 4 команды(select,insert,update,delete). Данные в базу записываются, но в DataTable их не видно почему-то.
Вот обработка события потери фокуса комбика:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private Sub cmbTypeDevice_LostFocus(sender As Object, e As EventArgs) Handles cmbTypeDevice.LostFocus
        Try
            Dim s As String = cmbTypeDevice.Text
            If cmbTypeDevice.FindStringExact(s) < 0 Then
                With cmdTypeDeviceInsert
                    With .Parameters
                        .AddWithValue("@p1", s)
                    End With
                    conn.Open()
                    Dim i As Integer = .ExecuteNonQuery() '=1, смотрю в БД, новое значение внесено
                    conn.Close()
                    'MsgBox(i)
                End With
            End If
        Catch ex As Exception
            MessageBox.Show(ex.ToString())
        End Try
    'Однако ни в DataTable ни в комбо значение не появилось.
    End Sub



Что не так делаю?
...
Рейтинг: 0 / 0
Не обновляется источник combobox-а.
    #39148722
Agapov_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть мысли?
...
Рейтинг: 0 / 0
Не обновляется источник combobox-а.
    #39148728
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Agapov_stas,

ну и где ты обновляешь содержимое адаптера и комбобокса? вижу только запрос на вставку
...
Рейтинг: 0 / 0
Не обновляется источник combobox-а.
    #39148729
Agapov_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris, спасибо, что ответили.
Делал, однако не помогает:
Код: vbnet
1.
daTypeDevice.Update(dsTypeNameDevice.Tables(0))
...
Рейтинг: 0 / 0
Не обновляется источник combobox-а.
    #39148731
Agapov_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточню, не помогает в том смысле, что в DataTable новое значение не появляется.
...
Рейтинг: 0 / 0
Не обновляется источник combobox-а.
    #39148732
Agapov_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Грубо говоря есть:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
Dim strTypeDeviceSelect As String = "SELECT id,TypeDevice,status FROM tblTypeDevice ORDER BY TypeDevice"
Dim strTypeDeviceInsert As String = "INSERT INTO tblTypeDevice(TypeDevice) VALUES(?)"
Dim strTypeDeviceUpdate As String = "UPDATE tblTypeDevice SET TypeDevice=? WHERE id=?"
Dim strTypeDeviceDelete As String = "UPDATE tblTypeDevice SET status=false WHERE id=?"

Private dsTypeNameDevice As New DataSet

Private daTypeDevice As New OleDbDataAdapter()

Private cmdTypeDeviceSelect As New OleDbCommand(strTypeDeviceSelect, conn)
Private cmdTypeDeviceInsert As New OleDbCommand(strTypeDeviceInsert, conn)
Private cmdTypeDeviceUpdate As New OleDbCommand(strTypeDeviceUpdate, conn)
Private cmdTypeDeviceDelete As New OleDbCommand(strTypeDeviceDelete, conn)

Private dtTypeDevice As New DataTable

Private bsTypeDevice As New BindingSource

With daTypeDevice
                .SelectCommand = cmdTypeDeviceSelect
                .InsertCommand = cmdTypeDeviceInsert
                .UpdateCommand = cmdTypeDeviceUpdate
                .DeleteCommand = cmdTypeDeviceDelete
                .FillSchema(dtTypeDevice, SchemaType.Mapped)
                .Fill(dtTypeDevice)
            End With

With dsTypeNameDevice
                .Clear()
                .Tables.Add(dtTypeDevice)
                .Tables.Add(dtDevice)
                '.Relations.Add("FKTypeNameDevice", dsTypeNameDevice.Tables(0).Columns("id"), dsTypeNameDevice.Tables(1).Columns("idTypeDevice"))
            End With
With bsTypeDevice
                .DataSource = dsTypeNameDevice
                .DataMember = dsTypeNameDevice.Tables(0).TableName
            End With


После чего присваиваю комбику DataSource=bsTypeDevice.
Ну, а то что в комбике, выложил выше.
...
Рейтинг: 0 / 0
Не обновляется источник combobox-а.
    #39148741
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Agapov_stasPallaris, спасибо, что ответили.
Делал, однако не помогает:
Код: vbnet
1.
daTypeDevice.Update(dsTypeNameDevice.Tables(0))



Update вызывает методы Insert, Update и Delete.

Тебе нужен Fill. И документация по DataAdapter
...
Рейтинг: 0 / 0
Не обновляется источник combobox-а.
    #39148746
Agapov_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris, спасибо огромное.

P.S. Pallaris,ты находишься в Донецке или просто родной город?Я в получасе езды..(мир тесен)
...
Рейтинг: 0 / 0
Не обновляется источник combobox-а.
    #39148750
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Месяца 4 как переехал
...
Рейтинг: 0 / 0
Не обновляется источник combobox-а.
    #39148754
Agapov_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris, ясно.
Еще раз спасибо что ткнул носом.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Не обновляется источник combobox-а.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]