Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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_C#_Visual Studio_Visual Studio Code_Combobox_Selecteditem - Fatal编程技术网

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

C# 将组合框列表更改为数字,以便将其插入数据库c,c#,visual-studio,visual-studio-code,combobox,selecteditem,C#,Visual Studio,Visual Studio Code,Combobox,Selecteditem,我想为类创建一个组合框,当我在其中插入类的类型时,我想选择编辑选中的行例如:我选择了第二行,然后插入到数据库a 2 sql = "insert into etudiant (Nom, prenom, sexe,classess) " + "values(@Nom, @prenom, @sexe,@classess)"/*+"class (nom_class)" + "values(@nom_class) "*/;

我想为类创建一个组合框,当我在其中插入类的类型时,我想选择编辑选中的行例如:我选择了第二行,然后插入到数据库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();
我找不到这样做的方法
我想找到一种方法,这样我就可以为该行的编号插入表classes int,如ID

对于您的问题,您希望实现当前组合框所选的索引和插入

将其保存到您的数据库中

首先,我想提到的是,您应该使用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");
        }
    }

你是怎么填充组合框的?combobox1.SelectedItem中的值是多少?这段代码面临的问题是什么?还请指定您是在WPF/Winforms中,还是在使用什么!为什么不使用组合的selectedvalue项呢?@ChetanRanpariya来自此`conn=new npgsqlconnectionconstring;康涅狄格开放大学;sql=@select*from类;cmd=新的NpgsqlCommandsql,conn;dt=新数据表;dt.Loadcmd.ExecuteReader;dt.Rows{comboBox1.Items.Adddr[nom_class].ToString;}conn.Close中的foreach DataRow dr;`还有@emanuele这是WinForms你面临的问题是什么?我的问题是,我想在组合框中的每一行输入一个数字,然后将其插入数据库例如,当我选择在组合框中的国家时,我选择了英格兰,我在数据库中插入了一个数字5感谢你这么做,我下次将使用selectedindex:@YassineFatnasi,我很高兴我的解决方案对你有用。我建议你把它标记为答案,谢谢。