使用 Access 数据库填充列表框?

Posted

技术标签:

【中文标题】使用 Access 数据库填充列表框?【英文标题】:Populate Listbox with Access Database? 【发布时间】:2011-07-08 04:27:18 【问题描述】:

我无法从我的数据库中获取列表框显示值。这是代码。关于如何破解它的任何想法?

Imports System.Data.OleDb
Public Class Form1
    Dim dbConnection As OleDbConnection
    Dim dbCommand As OleDbCommand
    Dim strInsert As String
    Dim dbDataAdapter As OleDbDataAdapter
    Dim ConnectString As String = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source =atg.mdb"
    Dim dtATG As DataTable

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim dtTest As New DataTable
        dtTest.Columns.Add("Col1", GetType(Integer))


        For i As Integer = 1 To 10
            dtTest.Rows.Add(i, "Row " & i.ToString)
        Next

        ListBox1.DisplayMember = "Col1"
        ListBox1.ValueMember = "Col1"
        ListBox1.DataSource = dtTest.DefaultView
    AddHandler ListBox1.SelectedIndexChanged, AddressOf ListBox1_SelectedIndexChanged

End Sub

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
    MessageBox.Show(ListBox1.SelectedValue.ToString)

End Sub

结束类

【问题讨论】:

是的!您将能够使用 Visual Studio 和 VB .NET 完成所有这些操作 @Ranhiru - 我尝试使用上面的代码,但没有得到任何想要的结果。有关如何执行此操作的任何链接或提示? (我刚刚尝试将数据库中的值显示到我的列表框中) 您只添加了 1 列,但是通过调用 dtTest.Rows.Add(i, "Row " & i.ToString) 您可以在该行中添加超过 1 项。你没有得到运行时异常吗?此外,ListBox1.Datasource = dtTest 也可以。 【参考方案1】:

这是您的代码的修改版本。

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim dtTest As New DataTable
        dtTest.Columns.Add("Col1", GetType(Integer))


        For i As Integer = 1 To 10
            dtTest.Rows.Add(i)
        Next

        ListBox1.DisplayMember = "Col1"
        ListBox1.ValueMember = "Col1"

        ListBox1.DataSource = dtTest
End Sub

【讨论】:

嘿,非常感谢。但是我得到的结果是列表框中从 1 到 10 的数字。如何让我的 Access (.mdb) 数据库中的数据显示在此处。我已经建立了oledb连接等..;表名:ATG;字段名称:术语。 (对不起,如果这些是基本问题,我只是一个初学者) @user823911 - 您现在问的是另一个问题:如何使用 Access .mdb 表中的记录填充数据表?我敢打赌你可以在这个网站上找到答案。【参考方案2】:

使用System.IO.File.ReadAllLines

ListBox1.Items.AddRange(System.IO.File.ReadAllLines("C:\folder\Your File.txt"))

【讨论】:

他是从数据库中读取它们,所以这绝对不像读取文本文件

以上是关于使用 Access 数据库填充列表框?的主要内容,如果未能解决你的问题,请参考以下文章

VBA - Access 03 - 遍历列表框,使用 if 语句进行评估

从vba中的表填充列表框

如何从由 SQL 查询填充的列表框中获取信息?

访问列表框,包括来自文本框的信息

根据 Access 列表框中的选择打开子表单

Visual Basic - 使用组合框将 Access 表中的数据填充到文本框