将我的组合框列表改为数字,这样我就可以将其插入数据库C#。

问题描述 投票:-1回答:1

我想做一个类的组合框,当我在里面插入类的类型时,我希望选择的项目是被选择的行,例如:我选择了第二行,然后我在数据库中插入了一个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();

我找不到这样做的方法,我想找到一种方法,使我可以插入到表类的Int,为该行的数量,如ID。

c# visual-studio visual-studio-code combobox selecteditem
1个回答
1
投票

对于你的问题,你想实现在当前组合框中选择索引并进行插入

到您的数据库中。

首先,我想说的是,你应该使用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");
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.