从SQL Server 2008数据库中选择列中的所有值?

时间:2011-12-10 21:18:40

标签: c# asp.net sql-server-2008

有人可以告诉我如何从我的SQL Server数据库中获取列中的所有值吗?

我有一个具有以下结构的表:

  • SSN int(主键)
  • NAME varchar(20)
  • PROGRAM varchar(max)
  • PHOTO varchar(max)

我想从SSN列中检索所有值,并将它们存储在ASP.NET项目中的整数数组中。

我使用的是Visual Studio 2010 Ultimate SP1 2010和SQL Server 2008 SP3。

2 个答案:

答案 0 :(得分:4)

string yourConnectionString = "......";
List<int> allSSN = new List<int>();

string sqlStmt = "SELECT SSN FROM dbo.Elects";

using(SqlConnection conn = new SqlConnection(yourConnectionString) 
using(SqlCommand cmd = new SqlCommand(sqlStmt, conn))
{
    conn.Open();

    using(SqlDataReader rdr = cmd.ExecuteReader())
    {
        while(rdr.Read())
        {
           int ssn = rdr.GetInt32(0);
           allSSN.Add(ssn);
        }

        rdr.Close();
    }

    conn.Close();
}

在此代码的末尾,您拥有SSN中的所有List<int>列值供您使用

答案 1 :(得分:0)

您还可以查看StackOverflow站点上使用的Dapper,并以NuGet包的形式提供(搜索“Dapper dot net”)。

使用Dapper,您可以使用以下内容获取IEnumerable<int>

IEnumerable<int> allSSN;

using (var connection = new SqlConnection(connectionString))
{
    connection.Open();
    allSSN = SqlMapper.Query<int>(connection, "SELECT SSN FROM dbo.Elects");
}

作为个人记录,这是我第一次带着Dapper旋转;在此之前,我会根据@ marc_s的答案使用SqlCommandSqlDataReader,但我相信我将在未来的项目中使用Dapper。