本人连接了数据库
数据库中 假如桌台01 – 06 分别是 000111 在TEXTBOX里面输出就是111000
不知道怎么回事求指导释~
SqlConnection con = new SqlConnection(“server=localhost;Database=cygl;uid=yg1;pwd=123”);
SqlDataAdapter sda = new SqlDataAdapter(“select * from ztb”, con);
DataSet ds = new DataSet();
sda.Fill(ds);
int x=0;
数据库中 假如桌台01 – 06 分别是 000111 在TEXTBOX里面输出就是111000
不知道怎么回事求指导释~
SqlConnection con = new SqlConnection(“server=localhost;Database=cygl;uid=yg1;pwd=123”);
SqlDataAdapter sda = new SqlDataAdapter(“select * from ztb”, con);
DataSet ds = new DataSet();
sda.Fill(ds);
int x=0;
foreach (Control c in this.Controls)
{
if (c is TextBox)
{
string val = ds.Tables[0].Rows[x++][2].ToString();
c.Text = val;
}
}
解决方案
5
没有倒序的操作。
设置断点,单步调试,看每步val的值究竟是什么。
设置断点,单步调试,看每步val的值究竟是什么。
5
this.Controls,获取到的控件,应该是按你添加到Form里面的顺序排列的
5
foreach (Text c in this.Controls.OfType<TextBox>().OrderBy(x => x.Name))
…
…
5
这有什么可奇怪的?
你看看 Form1.Designer.cs 只知道
你看看 Form1.Designer.cs 只知道
this.textBox1 = new System.Windows.Forms.TextBox(); this.textBox2 = new System.Windows.Forms.TextBox(); this.textBox3 = new System.Windows.Forms.TextBox(); this.textBox4 = new System.Windows.Forms.TextBox(); this.textBox5 = new System.Windows.Forms.TextBox(); this.textBox6 = new System.Windows.Forms.TextBox();
这样定义的控件,是这样加入到控件数组的
this.Controls.Add(this.textBox6); this.Controls.Add(this.textBox5); this.Controls.Add(this.textBox4); this.Controls.Add(this.textBox3); this.Controls.Add(this.textBox2); this.Controls.Add(this.textBox1);
因此,假如你计划利用Controls 来做些事情,就该本人书写代码,而不是指望 VS