Vb.net 选择命令属性

Vb.net 选择命令属性,vb.net,Vb.net,在调用Fill之前,我一直在获取Select命令属性尚未初始化。谁能帮帮我吗。我不知道如何修正这个错误 Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'Fill retrieves rows from the data source by using the SELECT statement Dim con A

在调用Fill之前,我一直在获取Select命令属性尚未初始化。谁能帮帮我吗。我不知道如何修正这个错误

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'Fill retrieves rows from the data source by using the SELECT statement
        Dim con As New OleDb.OleDbConnection
        Dim da As OleDb.OleDbDataAdapter

        Dim ds As New StudentDataSet

        da = New OleDb.OleDbDataAdapter
        da.Fill(ds)


    End Sub

    ' ...

End Class

如果不指定用于提取数据的命令,则具有类型化数据集并不意味着自动加载数据

Using con = New OleDb.OleDbConnection(....connection string here....)
Using da = New OleDb.OleDbDataAdapter("SELECT * FROM Students", con)
    Dim ds As New StudentDataSet
    da.Fill(ds)

    ... use your dataset


End Using 
End Using
请记住,连接需要知道数据库的位置,这是一个连接所在的位置。然后,每个对象(如OleDbConnection和OleDbDataAdapter)都应该在使用完毕后关闭并销毁,这就是您使用默认构造函数初始化OleDb.OleDbDataAdapter的原因。所以它还不知道它是SelectCommand。如果没有指定的select命令,则无法填充数据表或数据集。因此,您可以使用属性或构造函数:

Dim da As New OleDb.OleDbDataAdapter("SELECT Col1, Col2 FROM dbo.TableName ORDER BY Col2", con)
但是,您应该使用来确保实现IDisposable的所有内容都得到正确处置,即使出现错误:

Using con = New OleDb.OleDbConnection("ConnectionString Here")
    Using da = New OleDb.OleDbDataAdapter("SELECT Col1, Col2 FROM dbo.TableName ORDER BY Col2", con)
        da.Fill(ds)
    End Using
End Using

在调用Fill之前,需要添加一个SELECT语句,该语句定义要用其填充数据集的数据。您可以在构造函数中提供语句。