[英]How do I populate TextBox fields from a ComboBox selection?
我正在構建一個Drone Pilot日志。 在日志的“飛行員”頁面上,從頂部的comboBox
中選擇以選擇您的飛行員。 此數據取自項目中的SQL Server( .MDF
)數據庫文件。 選擇飛行員后,數據庫中的現有數據將填充表單的其余部分。 我下面的代碼成功地查詢了SQL Server數據庫文件,並在comboBox
顯示了FullName
,但是現在我對如何填寫表單的其余部分(即FirstName
, LastName
, Address
, City
等)
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.