Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编辑数据表或添加组合框c#_C#_Mysql_Winforms_Combobox - Fatal编程技术网

编辑数据表或添加组合框c#

编辑数据表或添加组合框c#,c#,mysql,winforms,combobox,C#,Mysql,Winforms,Combobox,c#windows窗体中的这段代码用mysql数据库的数据填充我的组合框,他就可以工作了 conn.Open(); string query = "SELECT * FROM FRUITS"; MySqlCommand cmd = new MySqlCommand(query, conn); MySqlDataAdapter da = new MySqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); co

c#windows窗体中的这段代码用mysql数据库的数据填充我的组合框,他就可以工作了

 conn.Open();
 string query = "SELECT * FROM FRUITS";
 MySqlCommand cmd = new MySqlCommand(query, conn);
 MySqlDataAdapter da = new MySqlDataAdapter(cmd);
 DataTable dt = new DataTable();
 da.Fill(dt);
 comboBox1.DataSource = dt;
 comboBox1.ValueMember = "NAME";
 comboBox1.DisplayMember = "NAME";
但是,我需要两个选项中的一个:

  • 在组合框的第一个位置添加一行
  • 在dataTable的第一个位置添加一行
  • 示例:这段代码返回给我一个组合框,值为“香蕉”和“苹果”,但我需要的第一个值是“选择一个水果”

    如果我在“da.Fill(dt)”之后使用下一个代码,他会在dataTable中添加一行并出现在combobox中,但在“Apple”之后,combobox=(“香蕉”、“苹果”、“选择一个水果”)但我需要(“选择一个水果”、“香蕉”、“苹果”)


    我该怎么做呢?

    我想你在找

    dt.Rows.InsertAt
    

    试试看

    组合框

    combobox1.Items.Insert(0,“选择水果”)

    数据表


    dt.Rows.InsertAt(行,0)

    在使用数据源属性时,不能将项插入组合框。您遇到了一个异常:“设置DataSource属性时无法修改Items集合。”。 但若在将dataTable设置为数据源之前,在0索引处向dataTable添加一个新行,则效果良好

     conn.Open();
     string query = "SELECT * FROM FRUITS";
     MySqlCommand cmd = new MySqlCommand(query, conn);
     MySqlDataAdapter da = new MySqlDataAdapter(cmd);
     DataTable dt = new DataTable();
     da.Fill(dt);
    
    //Add new row
    DataRow row = dt.NewRow();
    row["NAME"] = "Select a fruit";
    dt.Rows.InsertAt(row, 0);
    
    comboBox1.DataSource = dt;
    comboBox1.ValueMember = "NAME";
    comboBox1.DisplayMember = "NAME";
    

    工作,但我只能添加int32,不能使用字符串“选择水果”
    combobox1.Items.Insert
    
     conn.Open();
     string query = "SELECT * FROM FRUITS";
     MySqlCommand cmd = new MySqlCommand(query, conn);
     MySqlDataAdapter da = new MySqlDataAdapter(cmd);
     DataTable dt = new DataTable();
     da.Fill(dt);
    
    //Add new row
    DataRow row = dt.NewRow();
    row["NAME"] = "Select a fruit";
    dt.Rows.InsertAt(row, 0);
    
    comboBox1.DataSource = dt;
    comboBox1.ValueMember = "NAME";
    comboBox1.DisplayMember = "NAME";