0

CustomerID に関連付けられた CompanyName だけを取得しようとしています。ただし、ComboBox アイテムが変更されると、TextBox 内には何も表示されません。例外はありません。

private void Form1_Load(object sender, EventArgs e)
{
    SqlConnection connection = new SqlConnection(cnn);
    SqlCommand cmd = new SqlCommand("select CustomerID FROM Customers", connection);
    connection.Open();
    SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    while (dr.Read()) {
        comboBox1.Items.Add(dr["CustomerID"]);
    }
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    SqlConnection connection = new SqlConnection(cnn);
    string query = "select * from Customers where CustomerID='" + comboBox1.SelectedIndex + "'";
    SqlCommand cmd = new SqlCommand(query, connection);
    connection.Open();
    SqlDataReader dr = cmd.ExecuteReader();
    while (dr.Read()) {
        textBox1.Text = dr["CompanyName"].ToString();
    }
}
4

2 に答える 2

1

SQLクエリに問題があります.comboBox1.SelectedIndexをcomboBox1.SelectedItem.Text.ToString()に変更してください。以下のように修正します。

string query = "select * from Customers where CustomerID='" + comboBox1.SelectedItem.Text.ToString() + "'";
于 2013-08-09T15:59:50.003 に答える
0

You Can also change the query like...

string query = "select * from Customers where CustomerID='" + comboBox1.SelectedItem.Text + "'";
于 2013-08-10T16:26:15.340 に答える