Probably your dataset has errors, try the following code (given from MSDN) to determine possible errors:
[VB.Net]
Private Sub CheckForErrors(myDataSet As DataSet)
    ' Invoke GetChanges on the DataSet to create a reduced set.
    Dim xDataSet As DataSet = myDataSet.GetChanges()
    ' Check each table's HasErrors property.
    Dim xTable As DataTable
    For Each xTable In xDataSet.Tables
        ' If HasErrors is true, reconcile errors.
        If xTable.HasErrors Then
            ' Insert code to reconcile errors.
        End If
    Next xTable
End Sub