Die Aussage ist zwar verständlich, aber ich kann sie nicht nachvollziehen und bitte daher um Mithilfe.
Ich habe ein Steuerelement das als Masseneingabeformular dienen soll. Beim öffnen des Formulars erzeuge ich mit
folgender Methode ein DataRow-Objekt:
Wenn der Anwender dann auf die Schatfläche SAVE drückt bzw. die Enter-Taste betätigt, dann werden die Werte, die in
Textboxen und Comboboxen gewählt werden konnten ausgelsen und angepasst und in das dataRowObjekt geschrieben
Jetzt möchte ich gerne die Daten in die Datenbank schreiben. Wenn ich nun folgenden Weg gehe, dann kommt der besagte
Fehler, dass die Zeile schon zu einer anderen Tabelle gehört:
Meine Frage daher: Was ist der Grund des Fehlers und wie könnte man das Problem lösen?
Ich habe ein Steuerelement das als Masseneingabeformular dienen soll. Beim öffnen des Formulars erzeuge ich mit
folgender Methode ein DataRow-Objekt:
Code:
Public Function CreateEmptyData() As dsReports.ReportsRow Dim _dtReports As New dsReports.ReportsDataTable Dim _row As dsReports.ReportsRow _row = _dtReports.NewReportsRow With _row .ReportGUID = ReturnGUID() .ReportStatus = ReturnReportStatus() .Created = Now .CreatorGUID = ReturnNullGUID() .LastModified = Now .ModifierGUID = ReturnNullGUID() .IsNotVisible = False .CanNotDelete = False End With Return _row End Function
Textboxen und Comboboxen gewählt werden konnten ausgelsen und angepasst und in das dataRowObjekt geschrieben
Code:
Private Sub GetFormularData() With ReportDataRow .ReportDay = CDate(ReportsLogicCtl.CalculateLastDayOfMonth(txtReportMonth.Text, txtReportYear.Text) + "." + txtReportMonth.Text + "." + txtReportYear.Text) .ReportStatus = cboStatus.SelectedValue.ToString ... .ModifierGUID = CurrentUser.UserGUID .LastModified = Now .CreatorGUID = CurrentUser.UserGUID End With End Sub
Fehler, dass die Zeile schon zu einer anderen Tabelle gehört:
Code:
Public Function AddReport(ByVal NewReport As dsReports.ReportsRow) Dim Success As DBErrorTypes = DBErrorTypes.FAIL Dim _adReports As New dsReportsTableAdapters.ReportsTableAdapter Dim _dtReports As New dsReports.ReportsDataTable Dim _rowCount As Integer = 0 Try With _adReports .Connection.ConnectionString = Me.GetConnectionString _dtReports.AddReportsRow(NewReport) _rowCount = _adReports.Update(_dtReports) Success = DBErrorTypes.OK End With Catch ex As Exception Throw ex End Try Return Success End Function
Comment