2014-11-02 48 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 }; 

顯然您的特定數據結構可能會有所不同,但使用此連接表,可以顯示包括列表來自兩個表的信息。