0

我正在尝试通过列表在网格上列出我的数据库中的所有成员。我不知道我是否走在正确的轨道上。

我正在使用这个:

        public List<Member> Members()
        {
            List<Member> list = new List<Member>();

            string SelectMembers = "SELECT * FROM Members";

            using (sqlCommand = new SqlCommand(SelectMembers, sqlConnection))
            {

            }

            return list;
        }

但是“如果”我走在正确的轨道上……在该using部分中,我真的不知道该怎么做……我不是要代码,但我希望有人告诉我应该做什么。谢谢 :)

4

4 回答 4

2

使用代码示例更容易:

using (var sqlCommand = new SqlCommand(SelectMembers, sqlConnection)) {
    // fetch data and iterate through results
    var reader = sqlCommand.ExecuteReader();
    while (reader.Read()) { 
        // create an object, set its properties and add it to the return list
        Member member = new Member();
        member.SomeProperty = reader["MY_COLUMN"];
        list.Add(member);
    }
}

否则你可以使用 LINQ to SQL,Scott Gu 的博客上有一个很棒的教程:http ://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx

于 2013-06-06T07:37:28.343 回答
0

using是一个很好的起点。然后我要做的是遍历结果集properties,将Member类的列与数据集中的列分配。当您想要通读数据时,您有多种选择。您可以使用DataSet或。DataTableSqlDataReader

于 2013-06-06T07:36:22.363 回答
0

使用 sqlcommand 尝试绑定 datareader 对象,然后循环进入此 datareader 以绑定您的列表,例如

while (objDataReader.Read())
                {
                    objM = new Member();

                    if(objDataReader["Id"] != DBNull.Value)
                        objM.Id = Convert.ToInt32(objDataReader["Id"]);

                    list.Add(objM );
                }

             return list;
于 2013-06-06T07:37:35.823 回答
0

你可以SqlDataAdapter用来查询这些数据。

DataSet members = new DataSet();
ufing(SqlDataAdapter adapter = new SqlDataAdapter(sqlCommand))
{
    adapter.Fill(members, "Members");
    //Fill your list there from the DataSets's DataTable
}
于 2013-06-06T07:38:00.340 回答