【发布时间】: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,那么看看这个问题:stackoverflow.com/questions/6734584/…。它建议使用 group by 而不是 distinct。它应该适用于您的场景。如果您不想处理查询,Matthew 的建议也很好。
标签: mysql vb.net visual-studio-2010 ms-access-2007