在C#中添加到列表时,我得到了相同的对象:
List<Group> group = new List<Group>();
Group groupclass=new Group();
if (this.OpenConnection() == true)
{
sql_cmd = new MySqlCommand("listofgroup", sql_con);
sql_cmd.CommandType = CommandType.StoredProcedure;
sql_cmd.Parameters.AddWithValue("@userid", userid).Direction = ParameterDirection.Input;
MySqlDataReader sdr = sql_cmd.ExecuteReader();
while (sdr.Read())
{
groupclass.groupName = sdr.GetString("group_name");
groupclass.groupID = sdr.GetString("ID");
group.Add(groupclass);
}
this.CloseConnection();
}
return group;
最佳答案
按照您的代码立场,您只需创建一次对象。在将属性设置为while时,将在原始对象上设置值。
相反,您需要在while内创建对象
while (sdr.Read())
{
Group groupclass = new Group();
groupclass.groupName = sdr.GetString("group_name");
groupclass.groupID = sdr.GetString("ID");
group.Add(groupclass);
}