使用 DataReader 将数据库多条记录存储到变量中

Posted

技术标签:

【中文标题】使用 DataReader 将数据库多条记录存储到变量中【英文标题】:store database multiple records into variables using a DataReader 【发布时间】:2017-09-15 19:43:13 【问题描述】:

我正在尝试使用 DataReader() 检索 14 条数据库记录并将其存储到变量中。我知道如何将多个字段存储到变量中,但我不知道如何在一列中存储 14 条记录。我正在使用 MS Access 和 VB。

Try
    con.Open()
    dr = cmd.ExecuteReader()
    While dr.Read
        variableName = dr.Item("Description")
        Now, how can I do it for the other 13 variables?????
    End While
    con.Close()
Catch ex As Exception
    con.Close()
    MsgBox(ex.Message) : Exit Sub
End Try

【问题讨论】:

【参考方案1】:

您可以尝试的一件事是创建一个 List 变量,然后使用 for each look,循环遍历每个数据行,并将列添加到列表变量中。该代码并不准确,但应该足以让您了解。

Dim lst as new List(of String)

    Try
        con.Open()
        dr = cmd.ExecuteReader()
        While dr.Read
         For Each rw as datarow in dr.Rows()
            lst.add(rw.item("Description"))
          Next
        End While
        con.Close()
    Catch ex As Exception
        con.Close()
        MsgBox(ex.Message) : Exit Sub
    End Try

【讨论】:

感谢 Austin,但我认为“Rows()”不是数据读取器的一部分。

以上是关于使用 DataReader 将数据库多条记录存储到变量中的主要内容,如果未能解决你的问题,请参考以下文章

使用datareader时网络缓冲区可以存储多少数据

如何在C#中使用存储过程和datareader返回记录列表

DataReader

如何使用 c# datareader 和存储过程从 spl server 2012 数据表更新单个记录?

获取mysql中的多条记录并存入json数组中显示在HTML表格单单字段中

DataReader.Read() 跳过记录集的第一行