Asp.net 使用计数函数创建视图

Asp.net 使用计数函数创建视图,asp.net,sql,sql-server,vb.net,view,Asp.net,Sql,Sql Server,Vb.net,View,我创建了多项选择题系统,并创建了以下表格。我想要一个结果来显示学生选择了多少正确答案和错误答案 登录表 name usergroup matricno alex 1 ac91919 sarah 1 ac92151 QuizID QuizText 1 level 1 2 level 2 3 level 3 测验表 nam

我创建了多项选择题系统,并创建了以下表格。我想要一个结果来显示学生选择了多少正确答案和错误答案

登录表

name        usergroup    matricno      
alex          1           ac91919      
sarah         1           ac92151      
QuizID   QuizText
1        level 1
2        level 2
3        level 3
测验表

name        usergroup    matricno      
alex          1           ac91919      
sarah         1           ac92151      
QuizID   QuizText
1        level 1
2        level 2
3        level 3
问题表

QuestionID QuestionText
1          Question1
2          Question2
3          Question3
答案表。其中有fk到问题表和位来确定答案是否正确[1-正确0-错误]

answerID answer_question_id(fk) answertxt answer_isright
1          1                    answer1   1
2          1                    answer2   0
3          1                    answer3   0
4          2                    answer1   1
5          2                    answer2   0
6          2                    answer3   0
每个回答测验的用户的结果表。从下表中可以看出,ac91919号学生矩阵回答了2级问题

ResultID   Result_Quiz_ID    MatricNo 
  1           2             ac91919  
resultdetail表存储用户的答案。ResultDetail_ResultId(fk到ResultId)ResultDetail_AnswerId(fk到TblAnswers)

从这些表中,我如何创建这样的视图:例如,alex有5个正确答案,10个错误答案。此视图仅统计每个用户的最大结果(最新结果)

name       QuizTxt        RightAnswer    WrongAnswer        
alex       Level 1            5              10               
sarah      Level 2            3              9              
数据库结构:

Table login

name varchar(55)
usergroup int
matricno varchar(20)

TblQuiz

Quiz_Id int 
Quiz_Name nvarchar(200) -- 


TblQuestions

Question_Id int 
Question_Quiz_Id int --(FK To TblQuizes) 
Question_Text nvarchar(200) 

TblAnswers

Answer_Id int 
Answer_Question_Id int --(FK To TblQuestions) 
Answer_Text nvarchar(200)
Answer_IsCorrect bit

 TblResults

Result_Id int 
Result_Quiz_Id int -- 

TblResultDetails

ResultDetails_Id int
ResultDetails_Result_Id int 
ResultDetails_Answer_Id int 

我过去也做过类似的事情。您可以为答案制作另一张表格。
每一行都有一个答案。这样做的好处是,您可以显示单个玩家,也可以显示大多数人回答的最高分。
您没有要求任何代码,所以我认为您需要一种方法来完成它

您可以通过将项目放入数组来循环遍历项目列表。然后,您可以将它放在listview或datagrid中,或者您需要或想要使用循环函数构建的任何内容中。ListView和DataView是最常见的,但您可以使用组合框等,因为我不知道数据库在哪里,也不知道数据库的类型,我无法帮助您编写代码。一般是这样的

  • 从数据库中选择所需内容(可以是全部)
  • 将所选项目数据库放入数组中
  • 在阵列中循环
  • 在循环期间加载其控件中的每个项
  • 下面是一个如何连接到数据库并加载它的示例

    
    子页面加载
    dim dbconn、sql、dbcomm、dbread
    dbconn=New-OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;
    数据源=“&server.mappath”(“northwind.mdb”))
    dbconn.Open()
    sql=“从客户中选择*”
    dbcomm=新的OleDbCommand(sql、dbconn)
    dbread=dbcomm.ExecuteReader()
    customers.DataSource=dbread
    customers.DataBind()
    dbread.Close()
    dbconn.Close()
    端接头
    公司名称
    联系人姓名
    地址
    城市
    

    还有很多其他方法,如LINK()等。只需使用google或bing找到更多方法。

    首先编写一个查询,返回您想要的结果。你试过什么?我只知道这个查询需要pivot。但是我不知道怎么做,我需要帮助。你能解释更多吗?你可以选择特定行中的列并显示它。你可以从数据库中得到任何东西。最好的办法是显示您的html代码,这样我们可以更好地帮助您。然后在代码中告诉我们您需要什么以及在哪里。谢谢顺便说一句,我给了你一个加载表格的例子。FYIi希望使用dbms mssql创建视图和im