我有一个公司表,我使用了查询select * from company
。但现在我只要求此表中的所有公司名称,如何记录并存储到字符串数组。以下代码片段只有一个我原来的公司我得到的名字。但如何获取所有公司名称并存储到数组
reader = cmd.ExecuteReader();
// write each record
while(reader.Read())
{
Console.WriteLine("{0}",
reader["CompanyName"];
}
答案 0 :(得分:2)
选项1:使用ArrayList
ArrayList动态调整大小。随着元素的添加,空间就是 需要,它的容量增长。它最常用于较旧的C# 程式。
ArrayList companylist = new ArrayList();
reader = cmd.ExecuteReader();
// write each record
while(reader.Read())
{
companylist.Add(reader["CompanyName"]);
}
foreach (var name in companylist)
{
Console.WriteLine(name);
}
选项2:使用列表
List<string> companylist = new List<string>();
reader = cmd.ExecuteReader();
// write each record
while(reader.Read())
{
companylist.Add(reader["CompanyName"]);
}
foreach (var name in companylist)
{
Console.WriteLine(name);
}
//Converting list to string Array
var CompanyNamesArray = companylist.ToArray();
答案 1 :(得分:1)
不确定您是否需要特定数组,或仅仅是一个集合...但您可以执行以下操作:
reader = cmd.ExecuteReader();
List<string> listOfCompanyNames = new List<string>();
// write each record
while(reader.Read())
{
Console.WriteLine("{0}",
reader["CompanyName"];
listOfCompanyNames.Add(reader["CompanyName"]);
}
var arrayOfCompanyNames = listOfCompanyNames.ToArray();
请注意,您需要导入System.Collections.Generic
和System.Linq