BC30367: Die Klasse 'System.Data.DataSet' kann nicht ...

Julian Maicher

Erfahrenes Mitglied
Hallo!

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:

Neue Beiträge

Zurück