c# - 获取玩家姓名和分数

标签 c# mysql .net winforms

我想做的是使用数据表从我的 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/

相关文章:

MySQL集群数据节点不同步

c# - 使用文件将现有项目添加到解决方案

asp.net - 安装 .net 4.5 自定义表单后,身份验证中断

c# - 使用导航属性的 T-SQL 到 LINQ to SQL

c# - 将 2 个 Autofac 容器合并为一个

MySQL:在*同一*行中的两列之间创建唯一值约束

c# - 单元格值不会改变 DataGridview

c# - 使用 protobuf-net 将自定义类序列化为原始类型

需要 C# 构造函数快捷方式

c# - PowerBI 身份验证 C#