使用 OleDbConnection 从数据库中提取数据

Posted

技术标签:

【中文标题】使用 OleDbConnection 从数据库中提取数据【英文标题】:Extracting data from a database using OleDbConnection 【发布时间】:2011-04-24 20:33:06 【问题描述】:
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

Here is an image of my table data and design 我正在尝试使用 oledb 数据集从数据库中读取一些值,但是当我运行 sql 命令并开始输出值时,我遇到了以下错误:“IndexOutOfRangeException:位置 0 处没有行。”。然而,当我在访问中运行相同的 sql 命令时,我得到了我想要的数据。 当我运行上述代码时,直到我到达我想要输出数据的最后一个写入行时才会产生错误。 任何想法都会有很大帮助。

【问题讨论】:

【参考方案1】:

我没有看到任何连接字符串被分配给 OleDbConnection 对象 con。您是否为这个示例编辑了它?

这看起来让我一团糟,因为 OleDbDataAdapter.Fill 用于在您从数据库中填充记录集后从记录集中填充数据集。

【讨论】:

本例中不包含,连接字符串设置在另一个子程序中设置没有错误。 我正在关注此页面上的教程:homeandlearn.co.uk/net/nets12p5.html。据我了解,我已经用我的 sql 查询填充了数据适配器,现在我需要将它移动到数据集中。

以上是关于使用 OleDbConnection 从数据库中提取数据的主要内容,如果未能解决你的问题,请参考以下文章

JSON.net 直接从 oledbconnection 序列化

如何使用 C# 和 OleDbConnection 读取 .xlsx 和 .xls 文件?

.xlsx 的 OleDbConnection.GetOleDbSchemaTable 无法识别隐藏的工作表

使用两个DataAdapter使用OleDbConnection Excel到DataGridView

具有区域设置特定字符的数据库的 OleDbConnection/命令

将 OleDbConnection 刷新到 Access DB - 最佳实践