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