我试图将列表框中的所有值/文本(不是所选的值,而是其中的所有值)保存到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
提前谢谢
答案 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();