如何获取并将整个列表单数据库分配给单个按钮的文本?

时间:2015-11-01 17:38:00

标签: c# mysql

我试图在表格中获取整列的所有值,并将它们分配给单个按钮文本。

这是我迄今取得的成就。

            string query = "SELECT type FROM service";
            MySqlCommand command = new MySqlCommand(query, con);
            var reader = command.ExecuteReader();
            if (reader.Read())
            {
                button5.Text = reader[0].ToString();
                button6.Text = reader[1].ToString();
                button7.Text = reader[2].ToString();
                button8.Text = reader[3].ToString();
                button9.Text = reader[4].ToString();
                button10.Text = reader[5].ToString();
                button11.Text = reader[6].ToString();
                button14.Text = reader[7].ToString();
                button15.Text = reader[8].ToString();
                button16.Text = reader[9].ToString();
                button17.Text = reader[10].ToString();
                button18.Text = reader[11].ToString();
            } con.Close();

我只能为button5分配一个值,我如何获得所有值?

1 个答案:

答案 0 :(得分:0)

将此if(reader.Read())更改为while(reader.Read())

如果检查行是否存在,则迭代读取器。

您可以创建按钮数组:

Button[] btnArray = {Button5, Button6,... and so on}

然后使用while条件:

int i=0;
while(reader.Read())
{
    String name = reader.GetString(0);
    btnArray[i].Text = name;
    ++i;
    if(i == btnArray.Length) break; //Jus in case there are more values in reader than in array.
}

不要忘记关闭读者。 reader.Close()