我已经获得了一个包含3列的Access数据库:名称,类别,电子邮件。我要做的是将所有与给定类别匹配的电子邮件作为字符串输出。
我对SQL有一点了解,因为我正在学习它。我已经设法制作了一些代码,用一些名字填充了一个可视网格
Dim comm As New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=.\AddressBook.mdb")
Dim addda As New OleDbDataAdapter("SELECT FirstName FROM Contacts", comm)
Dim dd As New DataTable("Name")
addda.Fill(dd)
DataGridView2.DataSource = dd
所以我觉得我已经相当接近,但我无法弄清楚如何将名字列表转换为字符串(或字符串数组)。我发现的所有在线教程和书籍似乎只是在数据视图中显示数据。
指向正确的方向?
答案 0 :(得分:1)
试试这个:
Dim Names As New List(Of String)
Using comm As New OleDbConnection("Provider...")
comm.Open()
Using cmd As New OleDbCommand("SELECT FirstName FROM Contacts", comm)
Using reader As OleDbDataReader = cmd.ExecuteReader
While reader.Read
Names.Add(reader("FirstName").ToString)
End While
End Using
End Using
End Using
使用格式将自动处理您的数据对象。
答案 1 :(得分:0)
我确信LarsTech的回复会有效,但回到原来的例子,你可以随时循环访问DataTable( dd ),查看DataRow集合。
Dim Names As New List(Of String)
For Each R As DataRow In dd.Rows.Count
Names.Add(R.Item("FirstName").ToString)
Next
然后你可以检查 Names 的数量,如果它大于0,则迭代该集合。