周围搜索,似乎找不到有人回答了这个问题。
我设置了一个“基于服务的数据库”,其中包含一个包含我所在组织成员的表。我希望能够显示一个包含所有成员列表的组合框。 (我想我需要以某种方式使用foreach命令然后说出表中的每一行插入一个标签,但是idk)
我希望groupbox有一个包含所有成员名称的列表(通过获取数据库中的MemberName列),然后当您单击成员名称时,它会打开一个包含所有用户信息的框。
我有:
SqlConnection con = new SqlConnection("Data Source = .; Initial Catalog = domain; Integrated Security = True");
con.Open();
SqlCommand cmd = new SqlCommand("Select * from table", con);
我的连接然后我正在尝试
foreach (Select MemberName from table)
{ Controls.Add(Label); Label.Text = memberName;}
但它没有为数据库中的每个成员添加标签。
有关如何完成此任务的任何帮助?
答案 0 :(得分:1)
您没有创建标签的新实例 在for循环中,创建一个新实例,将其添加到控件中,然后设置文本。
编辑:您的读者也遇到问题。尝试执行查询,然后遍历阅读器。这里,reader [0]假定memberName是你的第一列。 SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
var memberName = reader[0].ToString();
var lbl = new Label();
Controls.Add(lbl);
lbl.Text = memberName;
}