名前などを入力すると、MySQL DB を検索して、入力した名前を含むすべての名前を表示する次のコードがあります。
MySqlConnection connection2 = new MySqlConnection("Server=" + server + ";" + "Port=" + port + ";" + "Database=" + database + ";" + "Uid=" + uid + ";" + "Password=" + password + ";");
connection2.Open();
string query = @"SELECT DISTINCT name2 FROM childDatabase WHERE name2 Like '%" + childSearch.Text + "%'";
MySqlCommand cmd = new MySqlCommand(query, connection2);
cmd.ExecuteNonQuery();
MySqlDataAdapter da = new MySqlDataAdapter(query, connection2);
DataTable dt = new DataTable();
da.Fill(dt);
childSearchCombo.DataSource = dt;
childSearchCombo.ValueMember = dt.Columns[0].ColumnName;
connection2.Close();
さて、このコードは問題なく、私のコンボボックスに使用されています。私が必要とするのは、ボタンを押すと(たとえば... btnShow)、データベースから取得された残りの部分が同じ行に表示されることです。現在のところ、[0] にインデックスを表示するだけですが、これは明らかに各レコードに対して動的ではなく、私でさえ理解しているコードの明らかな欠陥です。
これはそのコードです:
MySqlConnection connection2 = new MySqlConnection("Server=" + server + ";" + "Port=" + port + ";" + "Database=" + database + ";" + "Uid=" + uid + ";" + "Password=" + password + ";");
connection2.Open();
string query = @"SELECT DISTINCT name2, age, gender FROM childDatabase";
MySqlCommand cmd = new MySqlCommand(query, connection2);
cmd.ExecuteNonQuery();
MySqlDataAdapter da = new MySqlDataAdapter(query, connection2);
DataTable dt = new DataTable();
da.Fill(dt);
firstNameDisp.Text = dt.Columns[0].ColumnName;
ageDisp.Text = dt.Columns[1].ColumnName;
genderDisp.Text = dt.Columns[2].ColumnName;
したがって、基本的にそのコードの最後の 3 行は、名前、年齢、および性別を、コンボボックスで選択されているのと同じ行に表示する必要があります。
私は長い間検索してきましたが、私の知識はまだ標準に達していないようです. どんな助けでも大歓迎です!