Julian Maicher
Erfahrenes Mitglied
Hallo!
Folgender Fehler:
Ich versuche einen Datenabgleich zwischen der Datenbank und einem Datatable zu erreichen.
Wenn ich rows zum DataTable adde, sollen sie über Update in die Datenbank geschrieben werden, ich bekomme aber immer den obenen genannten Fehler. Woran liegt das?
Kann gut sein, dass ich einen Denkfehler beim InsertCommand habe, habe mir das so ein wenig zusammengereimt :/
Code:
Danke schonmal,
Julian
Folgender Fehler:
BC30367: Die Klasse 'System.Data.DataSet' kann nicht indiziert werden, da sie keine Standardeigenschaft hat.
Zeile 71: DataAdapter.InsertCommand.Parameters.Add(New OleDBParameter("time", OleDbType.VarChar, 8, "time"))
Zeile 72: DataAdapter.Update(ELMA("times"))
Zeile 73: grid.DataSource = ELMA.Tables("times").DefaultView
Ich versuche einen Datenabgleich zwischen der Datenbank und einem Datatable zu erreichen.
Wenn ich rows zum DataTable adde, sollen sie über Update in die Datenbank geschrieben werden, ich bekomme aber immer den obenen genannten Fehler. Woran liegt das?
Kann gut sein, dass ich einen Denkfehler beim InsertCommand habe, habe mir das so ein wenig zusammengereimt :/
Code:
Code:
Dim query As String
Dim conn As New OleDBConnection
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("./data/elma.mdb")
Dim command As OleDBCommand
Try
conn.Open
Catch Err As OleDB.OleDBException
Response.Write(Err.ToString)
Exit Sub
End Try
query = "SELECT * FROM times"
Dim ELMA As DataSet = New DataSet
Dim DataAdapter As OleDBDataAdapter = New OleDBDataAdapter(query, conn)
Dim OleDBComm As OleDBCommandBuilder = New OleDBCommandBuilder(DataAdapter)
DataAdapter.Fill(ELMA, "times")
Dim row As DataRow
row = Elma.Tables("times").NewRow
row("level") = 2
row("player") = "suye"
row("time") = "00:19:68"
Elma.Tables("times").Rows.Add(row)
Elma.Tables("times").AcceptChanges
DataAdapter.InsertCommand = New OleDBCommand("INSERT INTO times(id, level, player, time) VALUES(,?,?,?)", conn)
DataAdapter.InsertCommand.Parameters.Add(New OleDBParameter("level", OleDbType.Integer, 0, "level"))
DataAdapter.InsertCommand.Parameters.Add(New OleDBParameter("player", OleDbType.VarChar, 80, "player"))
DataAdapter.InsertCommand.Parameters.Add(New OleDBParameter("time", OleDbType.VarChar, 8, "time"))
DataAdapter.Update(ELMA("times"))
grid.DataSource = ELMA.Tables("times").DefaultView
grid.DataBind()
conn.Close
Danke schonmal,
Julian
Zuletzt bearbeitet: