首页 > 解决方案 > 将组合框的数据插入我的学生表

问题描述

嘿,我有一个应用程序可以创建学生并在那里添加课程和教师,当我尝试将学生与他的教师一起添加时,我遇到了问题,因为我从一个名为 classes 的表中选择了课程和教师,该组合框显示了你什么样的课是这样的

        {
            conn = new NpgsqlConnection(connstring);
            conn.Open();
            sql = @"select * from  class";
            cmd = new NpgsqlCommand(sql, conn);
            dt = new DataTable();
            dt.Load(cmd.ExecuteReader());


            foreach (DataRow dr in dt.Rows)
            {
               comboBox1.Items.Add(dr["nom_class"].ToString());


            }
            conn.Close();
        }

那个在我的应用程序中为我展示了这样的课程 在此处输入图像描述

现在的问题是在尝试插入学生时找不到添加班级的方法,因为组合框向我显示班级名称的表格,而对于学生我有一个 id_class 是真正的外来键id_class 在类中,但我在组合框中有字符,我无法添加,因为 id_class 是 int 类型,并且在组合框中无法将行更改为第一行 = 1 和第二行 = 2 之类的值我试图这样做像这样,但没有用

    conn.Open();
                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);
                cmd.Parameters.AddWithValue("@classess",int.Parse(comboBox1.SelectedItem.ToString()));

顺便说一句,没有组合框它可以正常工作,任何帮助都会很好

标签: c#postgresqlparsingvisual-c++combobox

解决方案


如果我做对了:

int id = comboBox1.SelectedIndex +1;

索引以 0 为基础,因此您必须添加 +1


推荐阅读