C# 从 SQL 获取所有名称并以列表形式返回

Joa*_*son 1 c# sql-server

我想更熟悉 SQL 和 C#,所以我正在开发一个简单的应用程序,现在我有一个填充的 SQL 数据库,但我想从我的 Persons 表中获取我所有的名字并将它们放在一个组合中框,但是当我尝试获取所有名称时,我只能获取表中的第一个名称。这就是我正在尝试做的事情。

using (SqlCommand sqlCommand = new SqlCommand("SELECT [Name] FROM [Persons].[dbo].[Test]", sqlConnection))
{
    var names = sqlCommand.ExecuteScalar();
}
Run Code Online (Sandbox Code Playgroud)

M.E*_*.E. 5

你实际上想使用SqlDataReader这样的:

var names = new List<string>();
using (SqlCommand sqlCommand = new SqlCommand("SELECT [Name] FROM [Persons].[dbo].[Test]", sqlConnection))
{
    using(var reader = sqlCommand.ExecuteReader())
    {
       while(reader.Read())
       {
          names.Add(reader["Name"].ToString());
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,ExecuteScalar仅获取第一个返回行的第一列。