Hallo,
ich bin doch eher Anfänger und versuche mich an meiner ersten App. mit VB 2010 und SQL Datenbank.
Mein Problem ist, dass die Update-Methode des Dataset nicht funktioniert:
Auch nachfolgendes Standartbeispiel funktioniert nicht...
Das Debuggen startet mit dem Sub "Automatisch"
Die Datenbank wird korrekt angesprochen und das Dataset befüllt. Nachdem die Daten geändert wurden, erfolgt in Sub Aktuallisieren
zunächst eine Testausgabe, ob das Dataset auch korrekt befüllt ist und geändert wurde...
Alles läuft gut.
Jedoch wird die Änderung nicht in die Datenbank übernommen.
Nachfolgend der Code:
'Ende Code
Ich bitte um Hilfe.
Gruß RC
ich bin doch eher Anfänger und versuche mich an meiner ersten App. mit VB 2010 und SQL Datenbank.
Mein Problem ist, dass die Update-Methode des Dataset nicht funktioniert:
Auch nachfolgendes Standartbeispiel funktioniert nicht...
Das Debuggen startet mit dem Sub "Automatisch"
Die Datenbank wird korrekt angesprochen und das Dataset befüllt. Nachdem die Daten geändert wurden, erfolgt in Sub Aktuallisieren
zunächst eine Testausgabe, ob das Dataset auch korrekt befüllt ist und geändert wurde...
Alles läuft gut.
Jedoch wird die Änderung nicht in die Datenbank übernommen.
Nachfolgend der Code:
VB.NET-Quellcode
- #Region "Test"
- Public Sub Automatisch()
- Dim da As DbDataAdapter, ds As DataSet
- Lesen(da, ds)
- Dim cmb As DbCommandBuilder = New SqlCommandBuilder()
- cmb.DataAdapter = da
- Ändern(ds, False)
- Aktualisieren(da, ds)
- End Sub
- '*****************************************************************
- Public Sub Lesen(ByRef da As DbDataAdapter, ByRef ds As DataSet)
- Dim conn As DbConnection = New SqlConnection()
- conn.ConnectionString = Anmeldestring
- Dim cmd As DbCommand = New SqlCommand()
- cmd.CommandText = "SELECT * FROM table_Test"
- cmd.Connection = conn
- ds = New DataSet() : da = New SqlDataAdapter()
- da.SelectCommand = cmd
- da.FillSchema(ds, SchemaType.Source)
- da.Fill(ds)
- End Sub
- '******************************************************************
- Public Sub Ändern(ByVal ds As DataSet, ByVal name As Boolean)
- ds.Tables(0).Rows(3)("bemerkung") = "ssss"
- End Sub
- '*******************************************************************
- Public Sub Aktualisieren(ByVal da As DbDataAdapter, ByVal ds As DataSet)
- 'Anmeldename wird korrekt ausgegeben
- 'Das bedeutet, dass das Dataset korrekt aus der Datenbank eingelesen worden ist.
- Dim test = ds.Tables(0).Rows(3)("anmeldename") ' funktioniert (Name wird ausgegeben)
- 'Bemerkungen = ssss .... wie in Ändern bestimmt.
- Dim test2 = ds.Tables(0).Rows(3)("bemerkung") ' funktioniert
- Dim betroffen As Integer = 0
- Try
- betroffen = da.Update(ds) ' hier liegt der Fehler. Es erfolgt kein Update
- 'Ausgabe betroffen = 0 ---> , sprich die Datenbank erhielt kein Update.
- Catch ex As Exception
- Console.WriteLine("Fehler: {0}", ex.Message)
- End Try
- Console.WriteLine("{0} Datenzeilen aktualisiert", betroffen)
- Console.ReadLine()
- MsgBox("betroffene Datenzeilen = " & betroffen) ' = 0
- End Sub
- '***********************************************
- #End Region
'Ende Code
Ich bitte um Hilfe.
Gruß RC
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Romario_Castanyeda“ ()