Automatische Ausfüllung von Textfeldern aus einer Datenbank basierend auf einem Textfeldwert [duplizieren]

Diese Frage ist ein genaues Duplikat von:

Suchen Sie in der datengebundenen comboBox? 1 Antwort

Ich habe eine einfache Form, in der es 3 Textfelder gibt, wie im Bild unten zu sehen:

Wenn ich die Autocompelete-Funktion bei einem Textwechsel-Ereignis verwende, zeige ich Daten aus der Datenbank in Textbox1 (Personenname) an. Wenn Ihr Benutzer nun einen bestimmten Namen aus den vorgeschlagenen Elementen auswählt, möchte ich automatisch Textbox2 und Textbox3 aus der Datenbank basierend auf dem Wert von Textbox1 ausfüllen. Wie soll ich das machen

Code von 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;
}

Wie füllt man nun Textbox2 und Textbox3 automatisch aus?

Grüße.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage