将 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 数据库中的数据读入列表框的主要内容,如果未能解决你的问题,请参考以下文章