组合框值没有保存到sql server数据库中

本文关键字:sql server 数据库 保存 组合 | 更新日期: 2023-09-27 18:13:57

下面是表单的图像。我想插入值,然后从数据库加载它,但组合框值没有插入。请帮帮我……我的代码有什么问题??

private void btnSave_Click(object sender, EventArgs e)
    {
        if (string.IsNullOrEmpty(tbPermissionID.Text) == true)
        {
            string CS = ConfigurationManager.ConnectionStrings["UMSdbConnectionString"].ConnectionString;
            using (SqlConnection con = new SqlConnection(CS))
            {
                using (SqlCommand cmd = new SqlCommand("SELECT MAX(per_id)+1 FROM Permission", con))
                {
                    con.Open();
                    cmd.CommandType = CommandType.Text;
                    SqlDataReader dr = cmd.ExecuteReader();
                    {
                        if (dr.Read())
                        {
                            tbPermissionID.Text = dr[0].ToString();
                            SqlParameter p1 = new SqlParameter("@per_id", tbPermissionID.Text);
                            SqlParameter p2 = new SqlParameter("@fk_group_id", cbGroupName.SelectedText.ToString());
                            SqlParameter p3 = new SqlParameter("@fk_form_id", cbFormName.SelectedText.ToString());
                            SqlParameter p4 = new SqlParameter("@per_save", cbSave.Items[cbSave.SelectedIndex].ToString());
                            SqlParameter p5 = new SqlParameter("@per_update", cbUpdate.SelectedText.ToString());
                            SqlParameter p6 = new SqlParameter("@per_select", cbSelect.SelectedText.ToString());
                            SqlParameter p7 = new SqlParameter("@per_delete", cbDelete.SelectedText.ToString());
                            SqlParameter p8 = new SqlParameter("@per_flag", cbFlag.SelectedText.ToString());
                            SqlCommand cmd1 = new SqlCommand("insert into Permission (per_id,fk_group_id,fk_form_id,per_save,per_update,per_select,per_delete,per_flag) VALUES ('" + p1.Value + "','" + p2.Value + "','" + p3.Value + "','" + p5.Value + "','" + p5.Value + "','" + p6.Value + "','" + p7.Value + "','" + p8.Value + "')", con);
                            cmd1.ExecuteNonQuery();
                            MessageBox.Show("Record Saved");
                            LoadPermissionDetails();
                        }
                    }
                }
            }
        }
    }

这是图片

组合框值没有保存到sql server数据库中

您为comboBoxes数据源设置了什么类型的对象?如果它是一个简单的字符串数组,请尝试这个而不是ComboBox。SelectedText:

ComboBox.SelectedItem.ToString()

如果你的数据源不是字符串数组,你应该将SelectedItem的值转换为你的目标类型,然后检索你需要插入数据库的属性。例如,如果你给ComboBox分配了一个公司列表,并且公司对象有一个名为"name"的属性名,你应该这样做:

((Company)ComboBox.SelectedItem).Name

记住检查是否没有选择以避免NullReferenceException