如何将检索到的列从datareader保存到数组中?

时间:2011-03-17 07:51:56

标签: vb.net arrays sqldatareader

我想在表中检索大约800行的单个列,并将这些值保存在数组中,以便稍后引用它们。我该怎么做?我试过了:

    con = New OleDb.OleDbConnection("provider=SQLOLEDB;data source=PC;initial catalog=DB1;integrated security=SSPI")  

    cmd = New OleDbCommand("select col1 from table1", con)

    con.Open()

    r = cmd.ExecuteReader

    While r.Read

        prev_ob(i) = r.Item(0)(0)

        i = i + 1

    End While

    For i = 0 To UBound(prev_ob)

        Console.WriteLine(prev_ob(i))

    Next`

它不起作用。 col1的类型为Int64,因此数组为prev_ob()。请告诉我如何将其保存到阵列中。

1 个答案:

答案 0 :(得分:3)

你得到的错误是什么?更多信息将帮助您尽快得到答案。

试试这个:

Dim int64list As New List(Of Int64)

cmd = New OleDbCommand("select col1 from table1", con)

    con.Open()
    r = cmd.ExecuteReader

    While r.Read

        int64list.Add(Convert.ToInt64(r.Item(0))

    End While

For Each obj In int64list
     Console.WriteLine(obj)
Next obj

PS我写了一个在C#中工作的示例,并试图转换为VB.net。