簡體   English   中英

如何從ComboBox選擇中填充TextBox字段?

[英]How do I populate TextBox fields from a ComboBox selection?

我正在構建一個Drone Pilot日志。 在日志的“飛行員”頁面上,從頂部的comboBox中選擇以選擇您的飛行員。 此數據取自項目中的SQL Server( .MDF )數據庫文件。 選擇飛行員后,數據庫中的現有數據將填充表單的其余部分。 我下面的代碼成功地查詢了SQL Server數據庫文件,並在comboBox顯示了FullName ,但是現在我對如何填寫表單的其余部分(即FirstNameLastNameAddressCity等)

private void frmPilots_Load(object sender, EventArgs e)
{
    using (SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Kevin\ownCloud\Programming\C# Projects\DroneLogbook\DroneLogbook\data.mdf;Integrated Security=True;Connect Timeout=30"))
    {
        SqlCommand sc = new SqlCommand("select Id,FullName from Pilots", conn);
        conn.Open();

        SqlDataReader reader;
        reader = sc.ExecuteReader();

        DataTable dt = new DataTable();
        dt.Columns.Add("Id", typeof(string));
        dt.Columns.Add("FullName", typeof(string));

        dt.Load(reader);

        cmbExistingPilot.ValueMember = "Id";
        cmbExistingPilot.DisplayMember = "FullName";
        cmbExistingPilot.DataSource = dt;

        conn.Close();
    }

您需要基於ComboBox的選定值和SqlDataReader另一個select語句來填充TextBoxes 像這樣:

SqlCommand command = new SqlCommand(
      "SELECT FirstName, LastName FROM Pilots where Id = @Id;",
      connection);
command.Parameters.AddWithValue("@Id",cmbExistingPilot.SelectedValue.ToString());
connection.Open();

SqlDataReader reader = command.ExecuteReader();

if (reader.HasRows)
{
    while (reader.Read())
    {
        txtFirstName.Text = reader.GetString(0);
        txtLastName.Text = reader.GetString(1);
        //and...
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM