连接具有可变列的多个表以进行事件出席的最佳解决方案

时间:2017-08-29 13:17:54

标签: c# asp.net sql-server database gridview

我设计了一个事件管理系统,管理员必须为每个事件添加每个参与者的出席情况。问题是该事件可以有多个会话,从1到无限

参与者需要参加80%的会议才能获得证书。

该系统基于ASP.NET / C#和MS SQL 2012。 我有6个表,其中包括:

  1. 事件(用于事件信息,使用的列:eventid)
  2. 员工(参与者信息,使用的栏目:员工姓名,员工部门ID)
  3. 部门(参与者的部门信息,使用的栏目:员工部门ID)
  4. 参与者(所有活动的所有参与者,所用专栏:employeeid,eventid,Attended,Certified)
  5. 会话(事件的会话信息,使用的列:会话ID)
  6. 出勤率(每个会话的每位员工的出勤信息,使用的栏目:出席)
  7. 目前我正在运行时创建一个表,首先获取该事件的所有已注册参与者。然后为所有注册参与者运行一个循环,并逐一从表中获取他们的部门信息和出勤信息。

    请记住,对于每个会话,我都会显示一个复选框。因此,如果用户出现在该会话中,我将其标记为检查,否则保持不变。然后,管理员可以检查取消选中每个注册参与者的信息,然后按保存。

    再次在“保存”按钮上,我读取整个表格并逐行为每个用户放置信息。

    我觉得解决方案效率不高,所以我想让它变得高效。 此外,管理员在添加出席时遇到问题,因为他们无法按名称或部门或ID进行排序。这将使他们更容易添加出勤率。他们没有选择所有选项或也取消选择所有选项。

    所以我想知道是否有更好的解决方案使用动态查询或视图。

    由于

0 个答案:

没有答案