使用c#在一个单行数据库中插入多个checkedlistbox值

时间:2015-08-04 06:37:00

标签: c# postgresql checkedlistbox

我正在制作一个窗口表单,其中所有核对清单值都存储在一行中。但是它只存储一个值。

问题是,是否可以将所有核对清单值存储在仅存储其分配的ID的单行中?

这是我之前的代码。如果您发现任何错误或者您对如何编辑以使其发挥作用有任何想法,那对我来说将是一个很大的帮助。谢谢!

foreach (DataRowView item in this.checkedListBox1.CheckedItems)
{
    NpgsqlCommand cmd = new NpgsqlCommand("Insert into name(eid, name, famid) Values (@eid, @name, @famid)", conn);
    cmd.Parameters.AddWithValue("@eid", textBox1.Text);
    cmd.Parameters.AddWithValue("@name", textBox2.Text);
    string value = item.Row[0].ToString().Split(',');
    cmd.Parameters.AddWithValue("@famcon", value);
    cmd.ExecuteNonQuery();
}

1 个答案:

答案 0 :(得分:0)

由于您使用的是C#,因此请使用此代码,但必须将默认名称更改为您的名称。

private void button1_Click(object sender, EventArgs e)
    {
        try
        {
            string Str = "";
            if (checkedListBox1.CheckedItems.Count > 0)
            {
                for (int i = 0; i < checkedListBox1.CheckedItems.Count; i++)
                {
                    if (Str == "")
                    {
                        Str = checkedListBox1.CheckedItems[i].ToString();
                        label1.Text = Str;
                    }
                    else
                    {
                        Str += ", " + checkedListBox1.CheckedItems[i].ToString();
                        label1.Text = Str;
                    }
                }
                // Make your connection to the DataBase and insertion code starting within that area.
                MessageBox.Show("Your selection is for :" + Str);
            }
            else
            {
                MessageBox.Show("Please select one name at least to work it out!");
            }
            while (checkedListBox1.CheckedItems.Count > 0)
            {
                checkedListBox1.SetItemChecked(checkedListBox1.CheckedIndices[0],false);
            }
                        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message + ex.ToString());
        }
    }