将我的组合框列表更改为数字,以便我可以将其插入数据库 C#

changing my combobox list to number so i can insert it to database c#

我想为 classes 做一个组合框,当我在其中插入 class 的类型时,我想 selecteditem 被选中的行例如:我选择了第二行然后我插入到数据库 a 2

               sql = "insert into etudiant  (Nom, prenom, sexe,classess) " +
                    "values(@Nom, @prenom,  @sexe,@classess)"/*+"class (nom_class)" + "values(@nom_class) "*/;
                   cmd = new NpgsqlCommand(sql, conn);
               cmd = new NpgsqlCommand(sql, conn);
               cmd.Parameters.AddWithValue("@nom", bunifuMaterialTextbox1.Text);
               cmd.Parameters.AddWithValue("@prenom", bunifuMaterialTextbox2.Text);
               cmd.Parameters.AddWithValue("@sexe", bunifuMaterialTextbox3.Text);

               int id = comboBox1.SelectedIndex + 1;

                cmd.Parameters.AddWithValue("@classess",Int32.Parse(comboBox1.SelectedItem.ToString()));//*/

               //cmd.Parameters.AddWithValue("Num", bunifuMaterialTextbox6.Text);
               //cmd.Parameters.AddWithValue("Classess", bunifuMaterialTextbox7.Text);
               int result = cmd.ExecuteNonQuery();

我找不到那样做的方法 我想找到一种方法,这样我就可以插入到 table classes int 中作为该行的编号,例如 ID

对于你的问题,你想实现当前combobox选择的索引并插入

它进入你的数据库。

首先,我想提一下,您应该使用 comboBox1.SelectedIndex 而不是 comboBox1.SelectedItem。

其次,我用sqlconnection来完成同样的操作,所以你可以修改下面的代码来应用到你的代码中。

  public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string connstr = @"";
            SqlConnection connection = new SqlConnection(connstr);
            connection.Open();
            string sql = "insert into Example(Nom,Prenom,Sexe,Classess) values(@Nom,@Prenom,@Sexe,@Classess)";
            SqlCommand command = new SqlCommand(sql, connection);
            command.Parameters.AddWithValue("@Nom", textBox1.Text);
            command.Parameters.AddWithValue("@Prenom", textBox2.Text);
            command.Parameters.AddWithValue("@Sexe", textBox3.Text);
            command.Parameters.AddWithValue("@Classess", comboBox1.SelectedIndex+1);
            command.ExecuteNonQuery();
            MessageBox.Show("add value successfully"); 

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.Items.Add("class1");
            comboBox1.Items.Add("class2");
            comboBox1.Items.Add("class3");
            comboBox1.Items.Add("class4");
        }
    }