我正在将数据从数据库加载到c#控制台应用程序,但我应该如何将它们放在列表中。
我的代码部分
using (SqlConnection sourceConnection =
new SqlConnection(connectionString))
{
sourceConnection.Open();
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand(
"SELECT * FROM " +
"dbo.Users;",
sourceConnection);
myReader = myCommand.ExecuteReader();
//long countStart = System.Convert.ToInt32(myCommand.ExecuteScalar());
while (myReader.Read())
{
Console.WriteLine(myReader["Id"].ToString());
Console.WriteLine(myReader["Name"].ToString());
}
我将它们打印在控制台中,但我应该如何将它们列入清单。
var listOfUsers = new List<User>();
答案 0 :(得分:3)
让我们假设您有一个用户类来表示列表中的元素类型。
public class Users
{
public string Id { get; set; }
public string Name { get; set; }
}
然后您可以在您的方法中将它们添加到List中,该列将由两列表示:
public void addUsersToList()
{
using (SqlConnection sourceConnection =
new SqlConnection(connectionString))
{
sourceConnection.Open();
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand(
"SELECT * FROM " +
"dbo.Users;",
sourceConnection);
myReader = myCommand.ExecuteReader();
//long countStart = System.Convert.ToInt32(myCommand.ExecuteScalar());
List<Users> myList = new List<Users>();
while (myReader.Read())
{
myList.Add(new Users { Id = myReader["Id"].ToString(),
Name = myReader["Name"].ToString() });
}
}
}
答案 1 :(得分:2)
除了创建用户,填充其属性并将其添加到列表中之外,您无法做其他事情......
while (myReader.Read())
{
User user = new User();
user.Id = myReader["Id"].ToString();
user.Name = myReader["Name"].ToString();
listOfUsers.Add(user);
}