Vb.net 使用OleDbConnection从数据库提取数据

Vb.net 使用OleDbConnection从数据库提取数据,vb.net,ado.net,oledb,Vb.net,Ado.net,Oledb,我试图使用oledb数据集从数据库中读取一些值,但是当我运行sql命令并开始输出值时,遇到以下错误:IndexOutOfRangeException:位置0处没有行。。然而,当我在access中运行同样的sql命令时,我得到了我想要的数据。 当我运行上面的代码时,在我到达要输出数据的最后一条写线之前,不会产生任何错误。 任何想法都会有很大帮助。我没有看到任何连接字符串被分配给OleDbConnection对象。你在这个例子中删掉了吗 我觉得这很糟糕,因为OleDbDataAdapter.Fill

我试图使用oledb数据集从数据库中读取一些值,但是当我运行sql命令并开始输出值时,遇到以下错误:IndexOutOfRangeException:位置0处没有行。。然而,当我在access中运行同样的sql命令时,我得到了我想要的数据。 当我运行上面的代码时,在我到达要输出数据的最后一条写线之前,不会产生任何错误。
任何想法都会有很大帮助。

我没有看到任何连接字符串被分配给OleDbConnection对象。你在这个例子中删掉了吗


我觉得这很糟糕,因为OleDbDataAdapter.Fill用于在从数据库中填充记录集后,从记录集中填充数据集。

此示例中不包括它,连接字符串设置在另一个子例程中没有错误。我将遵循此页的教程:。据我所知,我已经用sql查询填充了dataadapter,现在我需要将其移动到数据集中。
Dim con As New OleDb.OleDbConnection
Public outputs As New DataSet    
sub main() 
    sqlquery("SELECT * FROM Students", "mark")
end sub
Sub sqlquery(ByVal sql As String, ByVal outputname As String)
    Try
        con.Open()
        Dim da As OleDb.OleDbDataAdapter
        da = New OleDb.OleDbDataAdapter(sql, con)
        da.Fill(outputs, outputname)
        con.Close()
    Catch
        errorid = 3
    End Try
    Console.WriteLine(messagefromerrorcode)
    Console.WriteLine(outputs.Tables(outputname).Rows(0).Item(1))
End Sub