datagridview 中的访问数据库中缺少列

Posted

技术标签:

【中文标题】datagridview 中的访问数据库中缺少列【英文标题】:Missing column from access database in datagridview 【发布时间】:2021-01-25 21:21:02 【问题描述】:

我在一个 Windows 窗体应用程序中有一个访问数据库,用于填充数据网格视图。但是,其中一列从不显示,并且当在 select 语句中指定时,它返回“没有为一个或多个必需参数提供值”

这是当前代码

            string select_Schedules = "SELECT * FROM Schedules";
            conn = new OleDbConnection(constr);
            conn.Open();
            ds = new DataSet();
            adap = new OleDbDataAdapter();
            cmd = new OleDbCommand(select_Schedules, conn);

            adap.SelectCommand = cmd;
            adap.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
            dataGridView2.DataSource = ds.Tables[0].DefaultView;
            dataGridView3.DataSource = ds.Tables[0].DefaultView;
            dataGridView4.DataSource = ds.Tables[0].DefaultView;
            conn.Close();

该列确实包含在表中

这是“SELECT *”查询返回的内容 如所见,缺少 Show_Date 列。通过指定时

SELECT Show_Date FROM Schedules

它返回前面提到的错误。

【问题讨论】:

尝试:SELECT * FROM Schedules 抱歉,我忘了在我的初始代码中粘贴它,它返回的表格如图所示 我敢打赌,您查看的不是同一个数据库。检查您的连接字符串。您是否使用了 DataDirectory 快捷方式? 谢谢!这确实是问题所在,连接字符串指向了旧版本的数据库。 【参考方案1】:

正如史蒂夫指出的那样,我有一个这种特定形式的旧连接字符串。确实是一个简单的错误。

我敢打赌,您查看的不是同一个数据库。检查您的连接字符串。您是否使用了 DataDirectory 快捷方式? ——史蒂夫

所以我的问题已经解决了。谢谢。

【讨论】:

以上是关于datagridview 中的访问数据库中缺少列的主要内容,如果未能解决你的问题,请参考以下文章

访问 dataGridView 列中的组合框?

将数据库中的 3 列合并到 datagridview 中的 1 列

我想检查 datagridview 列是不是有数据或空/空

将命名的datagridview列与数据表中的特定列绑定

winform中的datagridview的属性Columns中手动添加列后,怎么绑定数据库的数据源,语句怎么写

c#怎么在dataGridView里面添加一列?