C# 如何使用sql数据库中的列填充组合框

C# 如何使用sql数据库中的列填充组合框,c#,sql,sql-server,C#,Sql,Sql Server,如何使用MySQL数据库中的列填充组合框 private void comboBoxSender_SelectedIndexChanged(object sender, EventArgs e) { string query = "SELECT Sender FROM Messages"; try { SqlCommand cmd = new SqlCommand(query, conn); SqlDataAdapter sda = new

如何使用MySQL数据库中的列填充组合框

private void comboBoxSender_SelectedIndexChanged(object sender, EventArgs e)
{
    string query = "SELECT Sender FROM Messages";
    try
    {
        SqlCommand cmd = new SqlCommand(query, conn);
        SqlDataAdapter sda = new SqlDataAdapter(query, conn);
        DataSet ds = new DataSet();
        sda.Fill(ds);
        cmd.ExecuteNonQuery();

        comboBoxSender.DisplayMember = "Sender";
        comboBoxSender.ValueMember = "Sender";
        comboBoxSender.DataSource = ds.Tables[1];
    }
    catch (Exception combo)
    {
        Console.WriteLine(combo.ToString());
    }
    conn.Close();
}

这就是我目前拥有的代码;但没有任何数据显示出来。有人能帮我一下吗?我还是个新手。

您正在选择更改事件(例如comboBoxSender)中填充相同的组合框。这可能会进入循环并生成堆栈溢出异常。

请尝试此操作

        using (SqlConnection conn = new SqlConnection(connString))
        {
            conn.Open();
            using (SqlDataAdapter sda = new SqlDataAdapter("SELECT Sender FROM Messages", conn))
            {
                DataTable dt = new DataTable();
                sda.Fill(dt);

                comboBoxSender.ValueMember = "Sender";
                comboBoxSender.DisplayMember = "Sender";
                comboBoxSender.DataSource = dt;
            }
        }

您有任何错误/异常吗?没有,但是当我运行程序并单击组合框时,没有选项让我选择使用ds.Tables[0]而不是ds.Tables[1]您在标题中说的是MySQL,但代码使用的是针对Microsoft SQL Server的SqlCommand-那么现在是哪一个呢??MySQL还是SQL Server??