我可以在 MySQL 中“隐藏”列吗?

Posted

技术标签:

【中文标题】我可以在 MySQL 中“隐藏”列吗?【英文标题】:Can I "Hide" Columns In MySQL? 【发布时间】:2014-06-29 13:47:05 【问题描述】:
        con = New OleDbConnection(cs)
        con.Open()
        cmd = New OleDbCommand("Select DISTINCT DesignationDate as [Date], DayNumber as [DN] from employeedesignation where employeeID = '" & EmployeeID3.Text & "' order by DayNumber asc", con)
        Dim myDA As OleDbDataAdapter = New OleDbDataAdapter(cmd)

        Dim myDataSet As DataSet = New DataSet()

        myDA.Fill(myDataSet, "EmployeeDesignation")

        dgridempinfo_4.DataSource = myDataSet.Tables("EmployeeDesignation").DefaultView

        con.Close()

这段代码只填写了我的数据网格“dgridempinfo_4”,并显示了 2 列,DATE 和 DN。

我可以通过datagrid属性或代码隐藏列,但是我可以查询使得DN不会显示在语句本身中吗?

【问题讨论】:

您能否澄清一下 - 如果您不想在输出中包含它,为什么还要在查询中包含它? 所以我可以使用 order by。可能很原始,但这是我所知道的。 :( 别担心!您无需在输出列表中包含一列即可对其进行排序。因此,将您的查询更改为:Select DISTINCT DesignationDate as [Date] from employeedesignation where employeeID = '" & EmployeeID3.Text & "' order by DayNumber asc 是的,我试过一次,这个错误对我来说是新的“ORDER BY 子句(DayNumber)与 DISTINCT 冲突。” :( 如果是 Access,那么看看这个问题:***.com/questions/6734584/…。它建议使用 group by 而不是 distinct。它应该适用于您的场景。如果您不想处理查询,Matthew 的建议也很好。 【参考方案1】:

如果您想在查询中包含该列,可能会执行额外的数据提取,但不想在您的视图中显示它,那么您始终可以在填充数据集后删除您想要隐藏的列:

table(0).Columns.Remove("Foo")

您也可以指定索引而不是名称,但请确保您的索引正确!:

table(0).Columns.Remove(0)

【讨论】:

以上是关于我可以在 MySQL 中“隐藏”列吗?的主要内容,如果未能解决你的问题,请参考以下文章

GridView可以根据需求动态设置显示多列中的某几列吗?

可以在 Spark 中写入 MEDIUMTEXT 类型的 MySQL 列吗?

如何在 MySQL Workbench 中隐藏/查看结果网格?

MySql - 可以在插入触发器之前插入 2 列吗?

MySQL 8.0 新特性,索引可以隐藏了!

一起看看MySQL中的隐藏列