C# 从数据库中获取值并指定按钮文本

C# 从数据库中获取值并指定按钮文本,c#,C#,我有一张部门表,共5行。我有一个select命令,它只从department表中获取dept_name列。我想将这些值(行[“Dept_Name”].tostring())逐个分配给每个按钮。 如果我的输出是 部门1 dept2 dept3 部门4 部门5 我想将按钮(设计中已有5个按钮)的文本值指定为button1.text=“dept1”; 按钮2.text=“dept2”; 按钮3.text=“dept3”;等等 我如何实现它。 我使用了以下代码 MySqlConne

我有一张部门表,共5行。我有一个select命令,它只从department表中获取dept_name列。我想将这些值(行[“Dept_Name”].tostring())逐个分配给每个按钮。 如果我的输出是 部门1 dept2 dept3 部门4 部门5

我想将按钮(设计中已有5个按钮)的文本值指定为button1.text=“dept1”; 按钮2.text=“dept2”; 按钮3.text=“dept3”;等等

我如何实现它。 我使用了以下代码

           MySqlConnection con = new MySqlConnection(myconnectionstring);
        string getdept = "SELECT DEPT_NAME FROM DEPTARTMENT";
        con.Open();
        MySqlCommand cmd = new MySqlCommand(getdept,con);
        MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        adapter.Fill(dt);
        foreach (DataRow Row in dt.Rows)
        {

            Button1.Text = Row["DEPT_NAME"].ToString();
       /* i am stuck at this part on how to each row to a separte button text.*/

        }
无需迭代:

Button1.Text = dt.Rows[0]["DEPT_NAME"].ToString();
Button2.Text = dt.Rows[1]["DEPT_NAME"].ToString();
Button3.Text = dt.Rows[2]["DEPT_NAME"].ToString();
Button4.Text = dt.Rows[3]["DEPT_NAME"].ToString();
Button5.Text = dt.Rows[4]["DEPT_NAME"].ToString();

您可以为循环使用
,并且:

for(int i=0;i
请参见,您可以

var i = 0;
foreach (DataRow Row in dt.Rows)
{
    i++;
    var button = Page.GetControl("Button" + i) as Button;
    button.Text = Row["DEPT_NAME"].ToString();
}

在学习语言基础知识之前不要访问数据库。。。说真的,就是不要。@grant,如果我不使用foreach语句,那么如何指定行增量并将其设置为其他按钮text@grant. 非常感谢。福波的回答很有帮助。非常感谢@fubo。我仔细考虑了这个概念,然后陷入了困境。谢谢你的指导。:)蒂姆,效果也不错。但这正是我想要的功能:)非常感谢。但当我改变这个时,它起作用了。controld。find(buttonname,true);而不是false。@Ameena:我没有合理地使用递归版本。这可能会有问题,您可能会找到与您正在寻找的控件不同的控件。相反,您应该首先使用正确的父控件。例如,如果它位于groupbox或panel中,则应使用
panel.Controls.Find(buttonName,false)
var i = 0;
foreach (DataRow Row in dt.Rows)
{
    i++;
    var button = Page.GetControl("Button" + i) as Button;
    button.Text = Row["DEPT_NAME"].ToString();
}