iam*_*esy 5 c# class datareader object
我只是让我的脑袋绕C#。我一直在创建类和对象,所以说我创建了一个名为Member的类:
public class Member
{
public int MemberID;
public string FirstName;
public string LastName;
public string UserName;
}
Run Code Online (Sandbox Code Playgroud)
然后通过执行以下操作创建该类的新对象:
Member Billy = new Member();
Billy.UserName = "Jonesy";
Billy.FirstName = "Billy";
Billy.LastName = "Jones";
Run Code Online (Sandbox Code Playgroud)
很好,但是如果我查询了一个数据库并找回5个成员该怎么办,我可以即时创建对象吗?还是将这些成员存储在内存中的最佳方法是什么?
我使用了VB.Net,将它们添加到数据表中。但是自从我学习C#以来,我从未真正进行过任何面向对象的编程,这是现在学习OOP的最佳时机。
如果您不使用 LINQ to SQL(或实体框架),那么使用常规的 ADO.NET DataReader您将循环遍历结果,使用详细信息实例化一个新对象,并将其添加到列表中。
大概看起来像这样:
List<Member> members = new List<Member>();
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
using (SqlCommand command = new SqlCommand(queryString, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Member member = new Member();
member.UserName = reader.GetString(0);
member.FirstName = reader.GetString(1);
member.LastName = reader.GetString(2);
members.Add(member);
}
}
}
}
foreach(Member member in members)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)