1

我想要做的是使用数据表从我的表格中获取数据mySQL以显示在Listbox我的表格中。

我怎样才能让球员的名字和分数按最高分的顺序显示?

到目前为止,我设法让球员姓名或球员得分出现。

MySqlConnection myConn = new MySqlConnection(connStr);

string sqlStr = "SELECT * FROM highscore";

MySqlDataAdapter dAdapter = new MySqlDataAdapter(sqlStr, myConn);

DataTable dTable = new DataTable();
dAdapter.Fill(dTable);
dAdapter.Dispose();
lstNames.DataSource = dTable;
lstScores.DataSource = dTable;
lstNames.DisplayMember = "Name";

我确实尝试过使用两个单独的列表框,但意识到我无法以任何顺序排列它们。

以下是更改后的保罗

                 MySqlConnection myConn = new MySqlConnection(connStr);

             string sqlStr = "SELECT Name + ' ' + Score as NameAndScore " + "FROM highscore ORDER BY Score DESC";

             MySqlDataAdapter dAdapter = new MySqlDataAdapter(sqlStr, myConn);

             DataTable dTable = new DataTable();
             dAdapter.Fill(dTable);
             dAdapter.Dispose();
             lstNames.DisplayMember = "NameAndScore";
             lstNames.DataSource = dTable;
4

2 回答 2

1

你可以用你的 SQL 做很多事情:

MySqlConnection myConn = new MySqlConnection(connStr);

string sqlStr = "SELECT CONCAT(Name, ' ', Score) as NameAndScore " +
                "FROM highscore ORDER BY Score DESC";

MySqlDataAdapter dAdapter = new MySqlDataAdapter(sqlStr, myConn);

DataTable dTable = new DataTable();
dAdapter.Fill(dTable);
dAdapter.Dispose();
lstNames.DisplayMember = "NameAndScore";
lstNames.DataSource = dTable;
于 2013-03-14T21:23:22.373 回答
0

假设保存分数的字段是“分数”,您的查询可能是

string sqlStr = "SELECT * FROM highscore order by score DESC";

基本上你需要按分数降序排列你的记录。这应该很简单

如果您有更多问题,请告诉我

于 2013-03-14T21:26:17.637 回答