2014-11-02 99 views
0

需要比较asp net中的两个不同的表格单元格。一个表中包含的结果和去如下如何比较asp.net中的两个数据库表字段

round id = 1 | 
game1 = 25 | 
game2 = 25 | 
game2 = 10 | 

round id = 2 | 
game1 = 25 | 
game2 = 0 | 
game3 = 0 | 

the user table goes as follows : 

username = Mike | 
round id = 2| 
game1 = 25 | 
game2 = 10 | 
game3 = 0| 

我希望它这样,如果roundid在用户表中匹配一个在成绩表,然后比较这一轮的游戏的价值。所以,第二回合如果game1匹配results : totalscore =+ 1; 的游戏1,并且如果它不匹配,它什么也不做,并且什么都不加!最后在标签或文本框中显示总分如何在asp.net中执行此操作?

+0

张贴你的努力 – 2014-11-02 07:00:41

+0

我搞乱了sqldatasources @SagarPudi所以真的没有代码背后我只需要知道一种方法,我可以搜索该方法的代码 – justCause 2014-11-02 07:13:25

回答

0

首先,不管你如何(MVC,MVP,MVVM等)的设计范式方面组织你的应用程序,你应该总是处理数据事件而不是UI元素。也就是说,UI元素显示数据,UI事件通过事件绑定到数据集,以便UI元素具体反映在数据集级别的摘要中发生的事情。

其次,您所谓的“用户”表不是用户表。它似乎是用户和回合的组合,所以也许我们应该把它称为AppUserRound表。

因此,我们假设IList<Result> results包含您的结果,IList<AppUserRound> userRounds包含您的用户的回合。为了加入这些表彼此通过RoundID,使用形成了“加盟”表的LINQ:

var query = from ur in userRounds 
      join r in results on r.RoundID = ur.RoundID 
      select new { ur.Usernqame, r.RoundID, r.Game1, r.Game2, r.Game3 }; 

显然您的特定数据结构可能会有所不同,但使用此连接表,可以显示包括列表来自两个表的信息。