Как сохранить изменения DataGridView1 через OdbcDataAdapter в БД

124
29 сентября 2019, 19:00

Не могу сохранить изменения DataGridView1 в БД

При открытии формы - в ней заполненная таблица в DataGridView1 При этом в from_load в переменной DA - пустые все свойства InsertCommand... При закрытии формы так же все комманды InsertCommand в DA - пустые Пробовал их вновь задать - результата нет - в БД изменения не переносятся

Есть форма

 Public Class frmStatus
    Public DA As OdbcDataAdapter
    Public DS As DataSet
    Private Sub frmStatus_Closed(sender As Object, e As EventArgs) Handles Me.Closed
        'DA.SelectCommand = New OdbcCommand("SELECT id,name FROM status")
        'DA.InsertCommand = New OdbcCommand("INSERT INTO status ( name) VALUES (?)")
        'DA.UpdateCommand = New OdbcCommand("UPDATE status SET name = ? WHERE id = ?")
        'DA.DeleteCommand = New OdbcCommand("DELETE FROM status WHERE id = ?")

        DA.Update(DS, "table")
        DS.Tables("table").AcceptChanges()
    End Sub
    Private Sub frmStatus_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    End Sub
End Class

Вызываю форму, передавая ей параметры

        Dim frmM As New frmStatus
    'frmM = New frmStatus()
    Dim Sql As String = "SELECT id,name FROM status"
    Dim InsertCommand = "INSERT INTO status ( name) VALUES (?)"
    Dim UpdateCommand = "UPDATE status SET name = ? WHERE id = ?"
    Dim DeleteCommand = "DELETE FROM status WHERE id = ?"
    frmM.DA = New OdbcDataAdapter
    frmM.DS = New DataSet
    Add_Connect_updated(frmM.DataGridView1, frmM.DA, frmM.DS, Sql, InsertCommand, UpdateCommand, DeleteCommand)
    frmM.ShowDialog()

Код Add_Connect_updated:

Dim MyConString As String = StringConnectToBDMySQL(driver_mysql, options_server, options_database, options_user, options_password, "3")
DA = New OdbcDataAdapter(strSQL, MyConString)
DA.MissingMappingAction = MissingMappingAction.Passthrough
DA.MissingSchemaAction = MissingSchemaAction.AddWithKey
DA.Fill(DS, "table")
Dim dbCommandBuilder As New OdbcCommandBuilder(DA)
DA.InsertCommand = dbCommandBuilder.GetInsertCommand()
DA.UpdateCommand = dbCommandBuilder.GetUpdateCommand()
DA.DeleteCommand = dbCommandBuilder.GetDeleteCommand()
ObjectDataSource.DataSource = DS.Tables("table")
READ ALSO
Как именно ВЫ поступайте с input[type='tel]?

Как именно ВЫ поступайте с input[type='tel]?

у меня вопрос по поводу формы и тега input[type='tel']Как вы делайте его что бы при заполнение был правильный формат

129
Закрасить половину div

Закрасить половину div

Подскажите пожалуйста, как закрасить div на половину красным цветом?

137