鮮明的列名我有一個SQL查詢這樣獲取列表
SELECT DISTINCT CustomerName FROM Customers
它返回不同customerNames的名單,
我如何在C#
目前我得到這個列表我在DataTable中獲取結果,然後在列表中只提取我需要的列。
private List<String> GetDistinctCustomerNames()
{
var dataTable = new DataTable("ResultDataTable");
using (var sqlCommand = new SqlCommand())
{
// set the connection for the commnad
sqlCommand.Connection = sqlConnection;
// assign the insert query as a text to the sql command
sqlCommand.CommandText = "SELECT DISTINCT CustomerName FROM Customers";
using (var sqlDataAdapter = new SqlDataAdapter())
{
sqlDataAdapter.SelectCommand = sqlCommand;
dataTable.Load(sqlCommand.ExecuteReader());
}
if (dataTable.Columns.Contains("CustomerName"))
{
return (from DataRow dataRow in dataTable.Rows select dataRow["CustomerName"].ToString()).ToList();
}
return null;
}
但我不覺得這是一個很好的解決方案。
如果添加了Dapper,你可以做這樣的事情:IList的 MYLIST = Dapper.SqlMapper.Query ( sqlConnnection, 「SELECT DISTINCT客戶名稱客戶;」)ToList(); –
使用簡單的SqlDataReader有什麼問題? –
您可以將輸出作爲XML接收,並使用XML解析器爲您創建列表。也許更優雅,雖然可能效率不高。 –