【实例分析】 public UpdatePassword(string username)
{
InitializeComponent();
this.textBox1.Text = username;
/*******************************/
string sqluser = "select * from userinfo where username='"+textBox1.Text.Trim()+"'";
SqlDataAdapter adp = new SqlDataAdapter(sqluser, sql.sqlConnection);
DataSet ds = new DataSet();
adp.Fill(ds, "userinfo");//填充数据集
/*数据的绑定*/
Binding newBind = new Binding("Text", ds, "userinfo.userpwd");
textBox2.DataBindings.Add(newBind);
}
分析:
首先,进行对需要绑定的数据进行查询select语句
然后,采用SqlDataAdapter和DataSet进行数据集填充Fill()方法
最后,进行数据绑定。Binding与DataBings属性的Add()的使用
注意:这个绑定方法,只能绑定同一个数据库的控件,如果需要绑定更多,应该采用数据集的方法进行赋值。请看下面这个例子。
这个例子包括ComboBox和TextBox控件的数据绑定:方法如下
private void Register_Load(object sender, EventArgs e)
{
/**********绑定电子邮箱后缀名*********/
DataSet ds = dsEmail(@"select * from Email");
if (ds.Tables["Email"].Rows.Count != 0)
{
//cbxEmail为comboBox控件的属性名称(name)
cbxEmail.Items.Clear();
//cbxEmail.Items.Add("请选择");
cbxEmail.DataSource = ds.Tables["Email"].DefaultView;
cbxEmail.DisplayMember = "Email";
cbxEmail.ValueMember = "ID";
}
}
private DataSet dsEmail(string sql)
{
SqlDataAdapter adp = new SqlDataAdapter(sql, DBConnect.ConnString);
DataSet ds = new DataSet();
adp.Fill(ds, "Email");
return ds;
}
private void cbxEmail_SelectedIndexChanged(object sender, EventArgs e)
{
//采用绑定方法,但对于相同的数据库,此用法行不通。因此采用不绑定技术
//txtCompany.DataBindings.Add(new Binding("Text", ds, "Email.Company"));//
DataSet dsCompany = dsEmail(@"select * from Email where Email='" + cbxEmail.Text + "'");
if (dsCompany.Tables[0].Rows.Count != 0)
{
//采用不绑定技术,进行绑定显示数据表字段
this.txtCompany.Text = dsCompany.Tables[0].Rows[0]["Company"].ToString();
}
}