Duda con DataSet en visual 2005

Tengo dos tablas: Clients(Nif,NomEmpresa,Telefon,Adreça,CodiPostal,Email) Todos son char. Y otra tabla Plantilla(Nif,Any, Firmada(s/n))<- Este nif es una foreign key del nif de Clients.

Estoy utilizando un data set para conectarme i insertar. Conectarme i moverme me deja. Pero insertar no. Alguna ayudita?
Private Sub Nou_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Nou.Click
        ' Crear un nuevo registro
        Dim dr As DataRow = ds.Tables(0).NewRow()
        dr("Nif") = InputBox("NIF")
        dr("NomEmpresa") = TextBox2.Text
        dr("Telefon") = TextBox3.Text
        dr("Adresa") = TextBox4.Text
        dr("CodiPostal") = TextBox5.Text
        dr("Email") = TextBox6.Text
        ' Añadir la nueva fila1 a la tabla
        ds.Tables(0).Rows.Add(dr)
        ' Guarda1r físicamente los da1tos en la base
        Try
            da.Update(ds)
            ds.AcceptChanges()
            ' Si es el primer registro de la base,
            ' volver a leer los da1tos para actualizar los IDs
            ds = New DataSet
            da.Fill(ds)
            ' Posicionarlo en la última fila1
            Ultim_Click(Nothing, Nothing)
        Catch ex As DBConcurrencyException
            MessageBox.Show("Error de concurrencia:" & vbCrLf & ex.Message)
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub Ultim_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ultim.Click
        ' Posicionarse en la última fila1
        fila = ds.Tables(0).Rows.Count - 1
        ' Mostrar los da1tos de la fila1 indicada1
        mostrardatos(fila)
    End Sub
Private Sub mostrardatos(ByVal f As Integer)
        Dim uf As Integer = ds.Tables(0).Rows.Count - 1
        If f < 0 Or uf < 0 Then Exit Sub
        '
        Dim dr As DataRow = ds.Tables(0).Rows(f)
        TextBox1.Text = dr("Nif").ToString
        TextBox2.Text = dr("NomEmpresa").ToString
        TextBox3.Text = dr("Telefon").ToString
        TextBox4.Text = dr("Adresa").ToString
        TextBox5.Text = dr("CodiPostal").ToString
        TextBox6.Text = dr("Email").ToString
    End Sub
Yo cuando usaba DataSet solia hacer un ds.refresh despues de actualizar para que se actualizara entero. Prueba eso a ver si te funciona.

Un Saludo!
Con el comando dataset.refresh se vuelve a llenar solo?

Sobre lo que preguntaba ya lo solucione. Era una tonteria, como siempre.

Cuando lleno de nuevo el dataset ponia fill(ds) pues se tiene que especificar la tabla: fill(ds.tables(0)).

Ya veis, una megatonteria. Pero me podriais comentar lo de dataset.refresh?
Hace mucho que no uso datasets pero estoy casi seguro que con hacer un ds.refresh ya se actualiza sin tener que hacer el fill todo el rato.

Un Saludo!
3 respuestas