textbox1
的代码使用TextChanged
事件的自动完成功能,并在Person Name
中显示来自数据库的textbox1
作为建议项目。现在,如果用户从textbox1
中的建议项目中选择特定名称,我希望根据textbox2
的值从数据库中自动填充textbox3
和textbox1
。我该怎么做?
textbox1
代码:
private void textBox1_TextChanged(object sender, EventArgs e)
{
AutoCompleteStringCollection namesCollection = new AutoCompleteStringCollection();
SqlConnection con = new SqlConnection(@"***my connection string***");
con.Open();
SqlCommand cmnd = con.CreateCommand();
cmnd.CommandType = CommandType.Text;
cmnd.CommandText = "SELECT * FROM tblTicketDetail";
SqlDataReader dReader;
dReader = cmnd.ExecuteReader();
if (dReader.Read())
{
while (dReader.Read())
namesCollection.Add(dReader["ContactPerson"].ToString());
}
else
{
MessageBox.Show("Data not found");
}
dReader.Close();
textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBox1.AutoCompleteCustomSource = namesCollection;
}
答案 0 :(得分:0)
首先将你的代码转换到try catch bloc中,之后,在try bloc的末尾,从textbox1获取文本,关闭上一个reader,然后根据textbox1文本打开另一个reader,填充textbox2结果并再次关闭第二个阅读器,然后对textbox3执行相同的操作,