【问题标题】:How to get each value in combobox over to sql database如何将组合框中的每个值传递到 sql 数据库
【发布时间】:2018-01-26 15:21:17
【问题描述】:

好的,这是我的代码。一切正常并保存到数据库中。 但是,它只存储组合框中显示的当前值。 我希望它存储所有 3 个值,因为每个值都有自己的复选框。 我将如何编写将 3 个值和相应复选框保存到数据库(sql)的代码?

Form , 代码

    private void button1_Click(object sender, EventArgs e)
    {
        if (con.State == ConnectionState.Closed)
        {

            con.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText = "insert into cloggingInfo(Date, PID, Operator, Type)values('"+labelTime.Text+"', '" + cboStatePid.Text + "', '" + cboStateOperator.Text + "', '" + cboStateType.Text + "')";
            cmd.ExecuteNonQuery();
            cmd.Dispose();
            con.Close();
            MessageBox.Show("Start added succesfully");
            listView1.Items.Clear();
            AddToListView();
        }
    }

【问题讨论】:

  • Edit您的问题并将您的代码添加为文本
  • 啊! sql 注入漏洞……烧死我们了!
  • 考虑将 SqlCommand 放在 using 块中,而不是显式调用 dispose。这样即使有异常它也会被处理掉。此外,SqlConnection 也是一次性的。

标签: c# sql database visual-studio combobox


【解决方案1】:

尝试使用“combobox.SelectedItem”或“combobox.SelectedValue”。如果您的组合框充满了数据源,您需要为其定义“DisplayMember”和“ValueMember”。

 private void button1_Click(object sender, EventArgs e)
    {
        if (con.State == ConnectionState.Closed)
        {

            con.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText = "insert into cloggingInfo(Date, PID, Operator, Type)values('"+labelTime.Text+"', '" + cboStatePid.SelectedItem+ "', '" + cboStateOperator.SelectedItem+ "', '" + cboStateType.SelectedItem+ "')";
            cmd.ExecuteNonQuery();
            cmd.Dispose();
            con.Close();
            MessageBox.Show("Start added succesfully");
            listView1.Items.Clear();
            AddToListView();
        }
    }

【讨论】:

    【解决方案2】:

    如下图所示,尝试获取每个组合框的组合框项,然后保存。

    private void button1_Click(object sender, EventArgs e) { StringBuilder comboBox1Items = new StringBuilder(); foreach (var item in comboBox1.Items) { comboBox1Items.Append(item + " "); } string cb1Items = comboBox1Items.ToString(); }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多