我想做的是使用数据表从我的 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";
我确实尝试过使用两个单独的列表框,但我意识到我无法按任何顺序排列它们。
下面是修改后的 Paul
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;
最佳答案
你可以用你的 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;
关于c# - 获取玩家姓名和分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15420443/