ho creato un'Application Windows che deve operare su un DB (creato sempre da me) composto da 2 tabelle:
CATEGORIA_ARTICOLI: 2 colonne (id, NomeCategoria)
ELENCO_ARTICOLI: 7 colonne

leggo i dati dalle 2 tabelle nel load del form e li inserisco in un dataSet:
codice:
 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        
        Dim connectionString As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DB\CatalogoArticoliIoProgrammo.mdf;Integrated Security=True;User Instance=True"
        Dim mySqlConnection As SqlConnection = New SqlConnection(connectionString)

        Try
            mySqlConnection.Open()
            myDataSet = New DataSet()

            Dim queryString1 As String = "SELECT * FROM CATEGORIA_ARTICOLI"
            Dim queryString2 As String = "SELECT * FROM ELENCO_ARTICOLI"
            Dim nameTable1 As String = "CATEGORIA_ARTICOLI"
            Dim nameTable2 As String = "ELENCO_ARTICOLI"

            Dim mySqlCommand As SqlCommand = mySqlConnection.CreateCommand()
            mySqlCommand.CommandText = queryString1

            Dim mySqlDataAdapter As SqlDataAdapter = New SqlDataAdapter()
            mySqlDataAdapter.SelectCommand = mySqlCommand
            mySqlDataAdapter.Fill(myDataSet, nameTable1)

            ' Aggiungo alla DataTable CATEGORIA_ARTICOLI la voce "Tutte le categorie" in modo che
            ' tale voce possa essere visualizzata nel menù a tendina della ComBox.
            ' Questa voce ha id = 0, quindi è inesistente sul DB
            Dim newCustomersRow As DataRow = myDataSet.Tables("CATEGORIA_ARTICOLI").NewRow()
            newCustomersRow("id") = "0"
            newCustomersRow("NomeCategoria") = "Tutte le categorie"
            myDataSet.Tables("CATEGORIA_ARTICOLI").Rows.InsertAt(newCustomersRow, 0)

            ComboBox1.DataSource = myDataSet.Tables("CATEGORIA_ARTICOLI")
            ComboBox1.DisplayMember = "NomeCategoria"
            ComboBox1.ValueMember = "id"
            ComboBox1.SelectedValue = 0


            mySqlCommand.CommandText = queryString2
            mySqlDataAdapter.SelectCommand = mySqlCommand
            mySqlDataAdapter.Fill(myDataSet, nameTable2)

            DataGridView1.DataSource = myDataSet.Tables("ELENCO_ARTICOLI")
            DataGridView1.Columns(0).Visible = False
            DataGridView1.Columns(1).Visible = False
            DataGridView1.AllowUserToAddRows = False


        Catch ex As Exception
            Throw New Exception(ex.Message)
        Finally
            mySqlConnection.Close()
            mySqlConnection.Dispose()
        End Try
    End Sub

Quando vado ad inserire una nuova categoria da un TextBox vado ad aggiornare il DataSet e ad aggiungererla nella tabella CATEGORIA_ARTICOLI del DB.
Il problema è che il seguente codice non mi dò errore ma non inserisce un bel niente nel DB!

codice:
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If Trim(TextBox1.Text) <> "" Then
            Dim newRow As DataRow = myDataSet.Tables("CATEGORIA_ARTICOLI").NewRow()
            newRow("id") = "-1"
            newRow("NomeCategoria") = Trim(TextBox1.Text)
            myDataSet.Tables("CATEGORIA_ARTICOLI").Rows.Add(newRow)


            Dim connectionString As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DB\CatalogoArticoliIoProgrammo.mdf;Integrated Security=True;User Instance=True"
            Dim mySqlConnection As SqlConnection = New SqlConnection(connectionString)

            Try
                mySqlConnection.Open()
                Dim insertQuery As String = "INSERT INTO CATEGORIA_ARTICOLI (NomeCategoria) VALUES (@NomeCategoria)"
                Dim cmd As New SqlCommand(insertQuery, mySqlConnection)

                Dim da As SqlDataAdapter = New SqlDataAdapter(cmd)
                da.InsertCommand = cmd
                da.InsertCommand.Connection = mySqlConnection

                Dim param As SqlParameter = New SqlParameter("@NomeCategoria", SqlDbType.NVarChar, 50, "NomeCategoria")
                da.InsertCommand.Parameters.Add(param)
                da.Update(myDataSet, "CATEGORIA_ARTICOLI")

            Catch ex As Exception
                Console.WriteLine("Error: " & ex.ToString)
            Finally
                mySqlConnection.Close()
                mySqlConnection.Dispose()
            End Try

            TextBox1.Text = Nothing
            TextBox1.Enabled = False
            Button2.Enabled = False
        End If
    End Sub
Dove sbaglio?!