2
    Dim con As New OleDb.OleDbConnection
    Dim dbProvider As String
    Dim dbSource As String
    Dim ds As New DataSet
    Dim da As New OleDb.OleDbDataAdapter
    Dim sql As String
    dbProvider = "Provider=Microsoft.Jet.OLEDB.4.0;"
    dbSource = "Data Source = C:\Users\Blessing\Documents\Ishvatest.mdb"
    con.Connectionstring = dbProvider & dbSource
    con.Open()
    sql = "SELECT * From Employees"
    da = New OleDb.OleDBDataAdapter(sql, con)
    da.Fill(ds, "Ishvatest")
    MsgBox("Ishvatest is now open")
    con.Close()
    MsgBox("Ishvatest is now closed")
    txtID.Text = ds.Tables("Employees").Rows(0).Item(1)
    txtID.Name = ds.Tables("Employees").Rows(0).Item(2)

このコードでプログラムを実行すると、「Null Reference Exception was unhandled」というエラーが表示されます。

私のコードで何が問題になっていますか?

4

3 に答える 3

0

このエラーは常に同じです。何かが何もない。最初のものは、それを使用する前に何も割り当てないことです。conしたがって、それはnull; その時点を過ぎると、他のことが発生する可能性があります。

肝心なのは、インスタンスを使用する前に、インスタンスに何かを割り当てる必要があるということです (参照型の場合)。したがって、 であるcon必要がありますNew OleDbConnection()。または、それを使用する前に、それが何かであることを確認する必要があります (たとえば、with ds.Tables("Employees").Rows(0): is there a row? などで何かが返された場合)。

于 2013-08-19T10:44:12.313 に答える