我正在制作一个窗口表单,其中所有核对清单值都存储在一行中。但是它只存储一个值。
问题是,是否可以将所有核对清单值存储在仅存储其分配的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();
}
答案 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());
}
}