我想使用从mysql
.
直到现在我总是这样做:
if (rdr.Read())
{
Item1.Visibility = Visibility.Visible;
Item1txt.Text = rdr.GetString("item_name");
}
if (rdr.Read())
{
Item2.Visibility = Visibility.Visible;
Item2txt.Text = rdr.GetString("item_name");
}
if (rdr.Read())
{
Item3.Visibility = Visibility.Visible;
Item3txt.Text = rdr.GetString("item_name");
}
这种方法很好用,因为我在每个按钮中检索了正确的值,但它使可读性变得很糟糕......
当我开始这个项目时,我对 C# 的了解为零,所以我尝试了一些类似的东西:
while (rdr.Read())
{
Item4.Visibility = Visibility.Visible;
Item4txt.Text = rdr.GetString("item_name");
Item5.Visibility = Visibility.Visible;
Item5txt.Text = rdr.GetString("item_name");
}
但这给了我从按钮中的数据库中检索到的相同值。
例子:
button 1: test1 | button 2: test1 | button 3: test1.. etc..
我需要的:
button 1: test1 | button2: test2 | button 3: test3.. etc..
现在我的 C# 知识每天都在进步,所以我想学习一些新东西。
现在我正在尝试使用 foreach 循环,但我觉得我错过了一些东西:
using (MySqlConnection conn = new MySqlConnection(_CS))
{
conn.Open();
string cmd = "SELECT * FROM ordertopos LIMIT 10";
MySqlCommand custid = new MySqlCommand(cmd, conn);
using (MySqlDataReader rdr = custid.ExecuteReader())
{
System.Data.DataTable dt = new System.Data.DataTable();
dt.Load(rdr);
foreach (System.Data.DataRow row in dt.Rows)
{
Orderl1.Text = row["customerid"].ToString();
}
}
}
本质上,我想知道如何设置从 mysql 检索的按钮的内容,以更有效且更易于维护的代码..
我是新来的foreach
,所以请具体一点。