c#来自Access的数据不会显示在datagridview上

Posted

技术标签:

【中文标题】c#来自Access的数据不会显示在datagridview上【英文标题】:c# Data from Access won't show on datagridview 【发布时间】:2017-10-28 08:36:16 【问题描述】:

我是 C# 新手,我正在努力使 Access 中的数据显示在 datagridview 上。 所以我建立了一个数据库连接,它工作正常。但是加载数据的按钮出现错误,似乎是说“connection.Open();”行有问题

        try
        

            connection.Open();
            OleDbCommand command = new OleDbCommand();
            command.Connection = connection;
            string query = "select Title, Director * from MVDBtable";
            command.CommandText = query;

            OleDbDataAdapter da = new OleDbDataAdapter(command);
            DataTable dt = new DataTable();
            da.Fill(dt);
            dataGridView1.DataSource = dt;


            connection.Close();
        

        //show error message 
        catch (Exception ex)
        
            MessageBox.Show("Error" + ex);
        
    

【问题讨论】:

你怎么知道数据库连接正常? 我为数据库连接的加载事件编写了代码,并显示程序连接数据库成功或失败的消息。我不太了解如何正确检查。 【参考方案1】:

您必须使用正确的语法:

string query = "select Title, Director, * from MVDBtable";

或者,更有可能:

string query = "select Title, Director from MVDBtable";

【讨论】:

还是不行。我正在看一些教程,并意识到他们首先对数据库执行插入数据功能。这可能是它在我的程序上不起作用的原因吗?因为我还没有完成那部分,所以只在加载事件上有这段代码和数据库连接代码。我手动将一些数据直接放入MS-Access,我已经很久没有在数据库上工作了,所以可能是我做的错误。 不知道。我不使用低级 OleDb 命令的东西。看看 DataTableAdapter

以上是关于c#来自Access的数据不会显示在datagridview上的主要内容,如果未能解决你的问题,请参考以下文章

来自外部应用程序的 Access 数据库中日期字段的月份名称(C#)

C#怎样把access数据库中的数据刷新一下显示在DataGridView中

显示来自“System.Data.OleDb.OleDbDataReader”的“字符串”。访问数据库到 C# 表单

当 Access mdb 有密码时,来自 C# 的 MailMerge

无法在 Python 中显示来自 Access 的数据(通过 SQL)

SQL Server不会立即提供表/查询的所有数据