将 Access 数据库中的数据读入列表框

Posted

技术标签:

【中文标题】将 Access 数据库中的数据读入列表框【英文标题】:Read data from Access Database into listbox 【发布时间】:2012-10-15 15:50:13 【问题描述】:

谁能告诉我如何解决这个错误?

 SqlCommand cmd = new SqlCommand(sqlCmd, conn)
 --> conn: Aurgument type 'System.Data.OleDb.OleDbConnection' is not assignable to parameter type 'System.Data.SqlClient.SqlConnection'.

  private void Form1_Load(object sender, EventArgs e)
    
        string connString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=C:\\Users\\KevinDW\\Desktop\\dotNET\\Week 5\\Prak1\\demo1.accdb";

        OleDbConnection conn = new OleDbConnection(connString);

        conn.Open();

        string sqlCmd = "SELECT CursusNaam FROM tblCursus";

        SqlCommand cmd = new SqlCommand(sqlCmd, conn);

        using (SqlDataReader reader = cmd.ExecuteReader())
        
            listBox1.Items.Add(reader);
        

        conn.Close();
    

【问题讨论】:

使用 OleDbCommand 类更改 SqlCommand。 OleCommand 和 OleDataReader 与 OleDbConnection 一起使用 【参考方案1】:

你混淆了 Sql 和 OleDb

使用OleDbCommand 而不是SqlCommand 并使用OleDBDataReader 而不是SqlDataReader

例如:

  private void Form1_Load(object sender, EventArgs e)
    
        string connString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=C:\\Users\\KevinDW\\Desktop\\dotNET\\Week 5\\Prak1\\demo1.accdb";

        OleDbConnection conn = new OleDbConnection(connString);

        conn.Open();

        string sqlCmd = "SELECT CursusNaam FROM tblCursus";

        OleDbCommand cmd = new OleDbCommand(sqlCmd, conn);

        using (OleDBDataReader reader = cmd.ExecuteReader())
        
            listBox1.Items.Add(reader);
        

        conn.Close();
    

【讨论】:

【参考方案2】:

您正在使用 SqlCommand/etc,它需要使用 SqlConnection 对象而不是 OleDbConnection。

您要连接的是否是 SQL 数据库?如果是这样,请改用SqlConnection

编辑:显然不是,读取连接字符串...:D

【讨论】:

以上是关于将 Access 数据库中的数据读入列表框的主要内容,如果未能解决你的问题,请参考以下文章

如何将列表框的内容导出到 Access 中的表格中?

Pandas 将文件名存储在列表中,并将所有文件读入数据框

编辑绑定列表框内容后更新 MS Access

使用 python 将 pandas 数据框导入 MS Access 表

将列表框与访问数据库链接

将 Pymongo 数据从列表附加到 pandas 数据框