2011-01-20 3 views
0

Cette procédure est à l'intérieur du fichier xsd:perte de données Suite

Public Shared Sub AddRowData(ByVal sender As Object, ByVal e As System.EventArgs) 
    Dim myDataCol As DataColumn 
    Dim myDataRow As DataRow 
    Dim ordTable As New DataTable 
    Dim newDataRow As DataTable.orderDataRow 
    Dim myDataset As New DataSet("orderData") 
    Try 
     ordTable.AllowAddNew = True 
     newDataRow = ordTable.NewRow 
     ordTable.orderData.Rows.Add(PrintContents(0), 
           PrintContents(1), 
           PrintContents(2), 
          PrintContents(3), 
           PrintContents(4), 
           PrintContents(5), 
           PrintContents(6)) 

    Catch ex As Exception 
     MessageBox.Show(ex.Message, "AddRowData") 
    End Try 
End Sub 

avant de quitter la procédure Je vérifie la ligne DataSet et je vois que la variable sont là.

Dans l'étape suivante, il va à une forme sur laquelle je regarde le rapport relatif.

La dernière forme n'a que l'événement Load, rien d'autre.

Il n'y a pas de ligne.

+0

Vous semblez y ajouter ** deux ** lignes; un avec la méthode 'NewRow' (que vous ignorez), et l'autre via la méthode' .Rows.Add (...) '? Est-ce aussi simple que de regarder la mauvaise rangée? –

+0

Quel est le point d'avoir DataSet? vous ne faites rien avec elle .. Aussi newDataRow. –

+0

@Marc Gravell: La méthode NewRow n'ajoute pas de ligne à DataTable - elle ne fait que la générer - vous avez donc besoin de l'appel de Rows.Add. Dans ce cas, la ligne générée avec newDataRow est ignorée (comme vous l'avez souligné), donc une seule ligne est ajoutée. –

Répondre

2

Vos variables ne tombent pas. Puisque vous avez déclaré (Dimmed) les variables dans la fonction, elles sont nettoyées dès que votre code quitte cette fonction.

Essayez de mettre cette ligne en dehors de la fonction:

Private ordTable as DataTable 

Puis changer:

Dim ordTable As New DataTable 

à:

ordTable = New DataTable 

Vous serez alors en mesure d'accéder ordTable à l'extérieur de cette méthode.

+0

Vous avez probablement l'intention de mettre l'ordTable comme .... dans ma classe publique (là où j'ai mis toutes les variables partagées publiques) afin de le voir de l'ensemble du projet mmmmm! –

+0

@Greg. Enfin, je parviens à corriger la faute dans mon code et j'ai l'ensemble de données dans ma procédure actuelle. Mais s'il vous plaît regardez mon nouveau message. –

Questions connexes