如何获取整列表单数据库并将其分配给单个按钮';s文本

本文关键字:单个 分配 按钮 文本 获取 何获取 数据库 表单 列表 | 更新日期: 2023-09-27 18:20:02

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

这就是我迄今为止所取得的成就。

            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();

我只能为按钮分配一个值5,如何获取所有值?

如何获取整列表单数据库并将其分配给单个按钮';s文本

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

If检查是否存在行,而遍历读取器。

您可以创建一组按钮:

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.
}

别忘了关闭阅读器。读者关闭()