An der Position x befindet sich keine Zeile

27/07/2008 - 16:32 von Jürgen Schulz | Report spam
Hallo NG,
befasse mich seit 2 Tagen mit VS 2008 und dort im speziellen mit den neuen Features in
ADO.NET wie TableAdapterManager.
Habe ein typisiertes DataSet erstellt mit 2 Tabellen, die in einer 1:1 Beziehung stehen.
Das àndern und hinzufügen von Daten über beide Tabellen funktioniert problemlos.
Beim Löschen einer einzelnen DataRow bekomme ich die Fehlermeldung:
"An der Position x befindet sich keine Zeile". Die Meldung ist natürlich irreführend,
natürlich befindet sich an der genannten Position eine DataRow.

Private Sub btnDelete_Click

Dim RecordPos As Integer = CType(Session("RecordPos"), Integer)
Dim dsDelRow As New DataSetAddDelete
Dim tamDelRow As New DataSetAddDeleteTableAdapters.TableAdapterManager
tamDelRow.AllgemeinTableAdapter = New DataSetAddDeleteTableAdapters.AllgemeinTableAdapter
tamDelRow.VerwaltungTableAdapter = NewDataSetAddDeleteTableAdapters.VerwaltungTableAdapter
dsDelRow.Tables("Verwaltung").Rows.Item(RecordPos).Delete()
dsDelRow.Tables("Allgemein").Rows(RecordPos).Delete()
tamDelRow.UpdateAll(dsDelRow)
End Sub

Die Auswahl der zu löschenden DataRow erfolgt durch eine DropDownListe, sie liefert auch
den Wert für RecordPos.
Das beispiel stammt aus einer Webanwendung.
Vielleicht kann mir ja jemand aus der NG einen entscheidenen Tipp geben.

Gruss Jürgen
 

Lesen sie die antworten

#1 Peter Fleischer
31/07/2008 - 07:08 | Warnen spam
"Jürgen Schulz" schrieb im Newsbeitrag
news:eaYYlW$
Hallo NG,
befasse mich seit 2 Tagen mit VS 2008 und dort im speziellen mit den neuen
Features in
ADO.NET wie TableAdapterManager.
Habe ein typisiertes DataSet erstellt mit 2 Tabellen, die in einer 1:1
Beziehung stehen.
Das àndern und hinzufügen von Daten über beide Tabellen funktioniert
problemlos.
Beim Löschen einer einzelnen DataRow bekomme ich die Fehlermeldung:
"An der Position x befindet sich keine Zeile". Die Meldung ist natürlich
irreführend,
natürlich befindet sich an der genannten Position eine DataRow.

Private Sub btnDelete_Click

Dim RecordPos As Integer = CType(Session("RecordPos"), Integer)
Dim dsDelRow As New DataSetAddDelete
Dim tamDelRow As New DataSetAddDeleteTableAdapters.TableAdapterManager
tamDelRow.AllgemeinTableAdapter = New
DataSetAddDeleteTableAdapters.AllgemeinTableAdapter
tamDelRow.VerwaltungTableAdapter =
NewDataSetAddDeleteTableAdapters.VerwaltungTableAdapter
dsDelRow.Tables("Verwaltung").Rows.Item(RecordPos).Delete()
dsDelRow.Tables("Allgemein").Rows(RecordPos).Delete()
tamDelRow.UpdateAll(dsDelRow)
End Sub

Die Auswahl der zu löschenden DataRow erfolgt durch eine DropDownListe,
sie liefert auch den Wert für RecordPos.
Das beispiel stammt aus einer Webanwendung.
Vielleicht kann mir ja jemand aus der NG einen entscheidenen Tipp geben.



Hi Jürgen,
in deinem DataSet stehen keine Daten, da kein Fill o.à. der Instanzierung
folgt.

Viele Grüsse
Peter

Ähnliche fragen