Missing something here while trying to add a new row to my MS ACCESS (.mdb) database.
Getting the error "The SelectCommand property has not been initialized before calling 'Fill'."
the line that gets highlighted is:
Getting the error "The SelectCommand property has not been initialized before calling 'Fill'."
Code:
Public Sub UTAddToProvTable()
'add data to our province table
Try
dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;"
TheDatabase = "CreateTableTest.mdb"
MyDocumentsFolder = AppDomain.CurrentDomain.BaseDirectory
FullDatabasePath = MyDocumentsFolder & TheDatabase
dbSource = "Data Source = " & FullDatabasePath
gamecon.ConnectionString = dbProvider & dbSource
gamecon.Open()
provsql = "SELECT * FROM Provinces"
daprov = New OleDb.OleDbDataAdapter
daprov.Fill(dsprov, "Provinces")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
'try to add some new rows
Dim cb As New OleDb.OleDbCommandBuilder(daprov)
Dim dsnewrow As DataRow
dsnewrow = dsprov.Tables("Provinces").NewRow()
For x = 0 To 99
dsnewrow.Item(1) = dsrulers.Tables(0).Rows(x).Item(0)
dsnewrow.Item(2) = dsrulers.Tables(0).Rows(x).Item(1)
Dim rnd As New Random
dsnewrow.Item(3) = PlayerRaces(rnd.Next(0, 6))
dsnewrow.Item(4) = "None"
dsnewrow.Item(5) = 400
dsnewrow.Item(6) = 400000
dsnewrow.Item(7) = 0
If dsnewrow.Item(3) <> "Undead" Then
dsnewrow.Item(8) = 100000
Else
dsnewrow.Item(8) = 0
End If
dsnewrow.Item(9) = 0
dsnewrow.Item(10) = 0
dsnewrow.Item(11) = 0
dsnewrow.Item(12) = 1500
dsnewrow.Item(13) = Now()
dsnewrow.Item(14) = Now()
dsprov.Tables("Provinces").Rows.Add(dsnewrow)
Next
daprov.Update(dsprov, "Provinces")
gamecon.Close()
gamecon.Dispose()
MessageBox.Show("Table Update Successful!")
End Sub
Code:
dsnewrow = dsprov.Tables("Provinces").NewRow()