2011-12-10 121 views
1

有人能告訴我如何從我的SQL Server數據庫中獲取列中的所有值嗎?從SQL Server 2008數據庫中選擇列中的所有值?

我有具有以下結構的表格:

選出

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

我想從SSN列中檢索所有值,並將它們存儲在ASP.NET項目的整數數組中。

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

回答

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(); 
} 

這段代碼的最後,你把所有的List<int>SSN列值供你使用

+1

你不需要調用'Close()'; '使用'塊確保資源關閉。 – Jacob

+1

@Jacob,不錯,但我總是喜歡自己清理後不管。 –

+0

@Jacob:使用''確保了這一點 - 但我仍然想要明確地關閉讀者和連接 - 這只是一個好習慣。 「使用」塊只是我的「緊急備份」 –

0

您還可以看看Dapper,這是對StackOverflow的網站上使用,並且是可作爲NuGet包使用(搜索「Dapper dot net」)。

憑藉小巧玲瓏的,你可以使用以下方法來得到一個IEnumerable<int>

IEnumerable<int> allSSN; 

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

作爲我個人而言,這是我第一次以小巧玲瓏的兜風;在此之前,我會根據@ marc_s的回答使用SqlCommandSqlDataReader,但我相信我將在未來的項目中使用Dapper。

相關問題