【发布时间】:2015-02-04 18:16:35
【问题描述】:
我有一个关于数据库以及如何显示有关主键和外键的信息的问题。
例如,有三个表; Employees、Employee_tickets 和 Employee_comments。
每个employee可以有多个tickets,也可以有多个comments。外键放置在员工票和员工评论表中。我的应用程序是使用 Visual Studio 在 vb.net 中构建的,它是一个桌面应用程序。我如何查询说.. 员工姓名('Jon Doe')并在网格中显示他的所有票以及随着时间的推移人们在他身上制作的所有 cmets?我在 sql 数据库上创建了一个视图,它返回我需要的所有信息,但对于('Jon Doe')下列出的每张票,视图显示每张票的员工姓名。有没有办法只显示一次员工姓名,然后在该特定个人下列出的每张工单而不再次显示员工姓名,还是我必须制作单独的窗口来隔离所有这些?
这似乎是一个非常愚蠢的问题,我一生都无法弄清楚在这种情况下如何正确显示所需的内容。
这是我试图解释的一个例子:
因此,对于 troy,在 Employee Names 表中输入了一个员工姓名,在 CWB 表中输入了一张 CWB 票,但在 PQR Ticket 表中输入了两张 PQ 卡。我怎样才能只为 Troy 显示一行,为他的 CWB 显示一行,因为表格中只有一个,然后是他名下的 PQR 卡的两行?
我创建了一个视图,它将这些信息全部收集到一个视图本身中,然后将 datagridview 绑定到这个视图。
【问题讨论】:
-
您可以用逗号分隔员工工单和员工 cmets 列中的结果,这样所有内容都应该在一行而不是多行。像这样:John Doe 2,3,4,5,6 Emp Comemnt,Emp Comment1,Emp Comment2,Emp Comment3
-
当从数据库返回结果时,员工 cmets 和员工工单的数据将在一列中,并以逗号分隔,因此您将返回一行,并返回员工评论的所有结果和员工票将排成一行
-
如何将视图与 DataGrid 绑定?
-
我刚刚使用了 Datagrid 上的下拉菜单并选择了我创建的视图的绑定源。然后选择在每个网格中显示的列仅作为我试图询问的示例。
标签: mysql sql-server database vb.net