SqlDataAdapter не обновляет базу данных

Я новичок в VB 2015. Я хочу узнать о команде обновления базы данных. Я пытаюсь понять SqlDataAdapter. Кто-нибудь может мне посоветовать? Как и мой код ниже, он работает полностью без ошибок, но моя таблица базы данных (WORKSHEET) не была обновлена.

Imports System.Data.SqlClient

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim command2 As String
    command2 = "Update WORKSHEET set cancel_flag = 'Y' WHERE CNumber LIKE @reversalNumber"
    Using con2 As New SqlConnection(WindowsApplication1.My.Settings.SaleCommDatabaseConnectionString)
        Using cmd2 As New SqlCommand(command2)
            Using oda2 As New SqlDataAdapter
                cmd2.Connection = con2
                con2.Open()
                cmd2.Parameters.Add("@reversalNumber", SqlDbType.VarChar, 10, "15332")
                oda2.UpdateCommand = New SqlCommand(command2, con2)

            End Using
        End Using
    End Using
    MsgBox("ggggg")
End Sub

End Class

person Kenn    schedule 15.12.2015    source источник


Ответы (1)


Класс SqlDataAdapter полезен для применения изменений из DataSet в базу данных. Попробуйте заполнить набор данных измененными данными, а затем применить изменения с помощью метода обновления адаптера (oda2.Update(WORKSHEET)).

РЕДАКТИРОВАТЬ: убедитесь, что вы заполняете DataSet данными, используя метод Fill SqlDataAdapter.

oda2.Fill(yourDataSet) Перед этим вам нужно выбрать нужную команду с помощью oda2.SelectCommand = YourCommand.

person ic3man7019    schedule 15.12.2015
comment
У меня возникла проблема с тем, как применить набор данных к oda2. Я пробую код ниже, произошла ошибка. Кажется, tb2 является нулевым объектом. - person Kenn; 15.12.2015
comment
Я должен был быть более ясным. Вам нужно будет создать экземпляр DataSet самостоятельно, затем применить обновления к DataSet, а затем использовать DataSet для обновления таблицы в вашей базе данных. Это может помочь. msdn.microsoft .com/en-us/library/ - person ic3man7019; 15.12.2015
comment
Я обновил свой предыдущий ответ. Убедитесь, что вы заполняете DataSet. - person ic3man7019; 15.12.2015