如何在c#

时间:2017-01-13 08:20:57

标签: c#

我试图将列表框中的所有值/文本(不是所选的值,而是其中的所有值)保存到datagridview

像这样:here

这是我保存到datagridview的代码

Data.con.Open();



string SaveStr = "Insert into tblOrder (CustomerID, CustomerName, CustomerAdd, Date, Orders, TotalPrice) Values (@CustomerID, @CustomerName, @CustomerAdd, @Date, @Orders, @TotalPrice)";
SqlCommand SaveCmd = new SqlCommand(SaveStr, Data.con);

SaveCmd.Parameters.AddWithValue("@CustomerID", textBox4.Text);
SaveCmd.Parameters.AddWithValue("@CustomerName", textBox5.Text);
SaveCmd.Parameters.AddWithValue("@CustomerAdd", textBox6.Text);
SaveCmd.Parameters.AddWithValue("@Date", dateTimePicker1.Value);
SaveCmd.Parameters.AddWithValue("@Orders", listBox1.Items.ToString());
SaveCmd.Parameters.AddWithValue("TotalPrice", textBox3.Text);

SaveCmd.ExecuteNonQuery();
Data.con.Close();
LoadData();

,输出类似于this

提前谢谢

2 个答案:

答案 0 :(得分:1)

ListBox.Items使您可以获取对当前存储在ListBox中的项列表的引用。使用此引用,您可以获取集合中项目的计数。可以使用项集合执行任何任务。但是因为您希望将字符串存储到DataBase中。这可能适合你。

String.Join("," , listBox1.Items.OfType<string>().ToArray());

答案 1 :(得分:-2)

你可以做的是创建一个逗号分隔的字符串并以参数传递,这样你就可以保存它。下面是更新的完整代码。

        Data.con.Open();



    string SaveStr = "Insert into tblOrder (CustomerID, CustomerName, CustomerAdd, Date, Orders, TotalPrice) Values (@CustomerID, @CustomerName, @CustomerAdd, @Date, @Orders, @TotalPrice)";
    SqlCommand SaveCmd = new SqlCommand(SaveStr, Data.con);

    SaveCmd.Parameters.AddWithValue("@CustomerID", textBox4.Text);
    SaveCmd.Parameters.AddWithValue("@CustomerName", textBox5.Text);
    SaveCmd.Parameters.AddWithValue("@CustomerAdd", textBox6.Text);
    SaveCmd.Parameters.AddWithValue("@Date", dateTimePicker1.Value);
    SaveCmd.Parameters.AddWithValue("@Orders", String.Join("," , listBox1.Items.OfType<string>().ToArray());
     ));
    SaveCmd.Parameters.AddWithValue("TotalPrice", textBox3.Text);

    SaveCmd.ExecuteNonQuery();
    Data.con.Close();
    LoadData();