我在理解MySql. data . mysqlclient的MySql阅读器时遇到了一些问题
这是我的代码
while (reader.Read())
{
documentButtons = new RadioButton[3];
for (int i = 0; i < 3; i++)
{
documentButtons[i] = new RadioButton();
documentButtons[i].Text = reader["name"].ToString() + " " + (i + 1);
Console.WriteLine(reader["name"].ToString());
documentButtons[i].Location = new System.Drawing.Point(10, 10 + i * 20);
this.Controls.Add(documentButtons[i]);
}
}
Console.ReadLine();
这将生成3个单选按钮,文本分别为:"Document1 1", "Document1 2", "Document1 3"正如你可能看到的,我希望"文档"后面的数字等于它后面的数字。(我在数据库中的前3个条目是"Dokument1"、"Dokument2"one_answers"Dokument3"。在我的主机上,"document1"、"document2"one_answers"document3"都出现了3次。我如何使它在适当的单选按钮上创建适当的名称?
我不确定我完全理解你的问题,但如果你只是想有一个单一的RadioButton为每一行返回,下面的代码应该工作:
documentButtons = new RadioButton[3];
int i = 0;
while (i <= 3 && reader.Read()) { // make sure we don't get an IndexOutOfRangeException
documentButtons[i] = new RadioButton();
documentButtons[i].Text = reader["name"].ToString() + " " + (i + 1);
Console.WriteLine(reader["name"].ToString());
documentButtons[i].Location = new System.Drawing.Point(10, 10 + i * 20);
this.Controls.Add(documentButtons[i]);
++i;
}