0

この質問をどのように表現すればよいかわかりませんが、とにかく試してみます。

私は現在、ユーザーのハイスコアを引き出したいプロジェクトに取り組んでいます。私のデータベースのハイスコアIDは次のようになります:

The user database:
|ID | Username |
| 1 | Test1    |
| 2 | Test2    |
| 3 | Test3    |

The highscore database:
|ID |Highscore |HighscoreID|
| 1 | 200      | 1         |
| 1 | 230      | 2         |
| 1 | 240      | 3         |

最初に、ユーザーの ID がハイスコア データベース (HighscoreID) の ID と一致するかどうかを確認して、すべてのハイスコアを表示するときに、ID が対応するハイスコアの前に Test1 (ID が 1) が表示されるようにします。 HighscoreID の id。みたいな。

If(Username.ID == 1 && Highscore.HighscoreID == 1)
{
 //Display The username + the score associated with that username
}

これを他にどのように説明すればよいかわかりませんが、Web サイトから ID を介して何かを表示したいときはいつでも、アドレス リンクに ID があり、アドレス リンクから ID を持つすべてのものを引き出すだけでした。

これが十分に説明され、ゲームですぐに締め切りにならないことを願っているので、この質問を書き直す必要がないことを願っています.

よろしくお願いします。

編集

だから基本的にこれ:

 MathAndYouDBEntities db = new MathAndYouDBEntities();
            User users = new User();
            HighScore highscor = new HighScore();
            int idCounter = 0;
            for (int i = 1; i < 5; i++)
            {
                i = idCounter;
                if (users.ID == i && highscor.HighscoreID == i)
                { 

                }
            }

後で表示できるように、それらすべてをループしたい場合は?

D

oing this basicly crashes the program:
   MathAndYouDBEntities db = new MathAndYouDBEntities();
            User users = new User();
            HighScore highscor = new HighScore();
            int idCounter = 0;
            for (int i = 1; i < 5; i++)
            {
                i = idCounter;
                if (users.ID == idCounter && highscor.HighscoreID == idCounter)
                {
                    allUsers += users.Bruger.ToString();
                    highscores += highscor.UserHighscore.ToString() + '\n';
                }
            }

            message = allUsers + " " + highscores;

何か案は?

4

3 に答える 3

1
     If(Username.ID == 1 && Highscore.HighscoreID == 1)
     {
       System.out.println("Username is: " Username.name + "And the high score is :" + Highscore.Highscore);
       //Display The username + the score associated with that username
     }

正しいハイスコアで正しいユーザー名 ID をチェックすると、同じハイスコアを使用してハイスコアを取得できるためです。

私が理にかなっていることを願っています!

編集:申し訳ありませんが、あなたがforループでそれを望んでいたことを読んでいませんでした

  for(Highscore h : HighscoreList)   //ifyourusinganarraylistnamedHighscoreList
   If(Username.ID == 1 && Highscore.HighscoreID == 1)
   {
            System.out.println("Username is: " Username.name + "And the high score is    :" + Highscore.Highscore);
   }
于 2012-06-06T09:41:06.790 に答える
1

ある種の ORM を使用している場合は、これを行うことができます。

var highScore = Highscores.Where(c => c.HighscoreID == 1)
                          .Max(c => c.Highscore);

または、クエリ文字列で実行します。

于 2012-06-06T09:43:57.560 に答える
0

多くのテストの結果、その答えが見つかりました。

MathAndYouDBEntities db = new MathAndYouDBEntities();

            var queryResults =
                (
                from u in db.Users
                join h in db.HighScores
                on u.ID equals h.HighscoreID
                select new { u.Bruger, h.UserHighscore }
                );

            foreach (var h in queryResults)
            {
                allUsers += h.Bruger.ToString();
                highscores += h.UserHighscore.ToString();
            }

でも助けてくれてありがとう。

于 2012-06-06T10:44:20.800 に答える