我有两个列表和一个列表框,列表分别是各自的类,列表框位于Form1上。每个列表都由GUI添加,其名称为拾取列表的FrmPickups和列表的FrmVisits。
我的问题是,当我将数据添加到列表中时,如何将其存储到数据库中以便在项目启动时重新加载,以及如何在启动时将其加载到列表框中。
一些代码如下:
数据按如下方式添加到列表中:
theVisit.name = txtName.Text;
theVisit.address = txtAddress.Text;
theVisit.arrival = DateTime.Parse(txtArrival.Text);
theVisit.Lat = Double.Parse(txtLat.Text);
theVisit.Lon1 = Double.Parse(txtLong.Text);
theVisit.type = "Visit";
列表框内容添加在以下
中 /*
* Update the list on this form the reflect the visits in the list
*/
lstVisits.Items.Clear();
//Clear all the existing visits from the list
List<String> listOfVis = theList.listVisits();
//Get a list of strings to display in the list box
List<String> listOfpic = thePickup.listPickups();
//Get a list of strings to display in the list box
lstVisits.Items.AddRange(listOfVis.ToArray());
//Add the strings to the listBox. Note to add a list of strings in one go we have to
//use AddRange and we have to use the ToArray() method of the list that we are adding
lstVisits.Items.AddRange(listOfpic.ToArray());
//Add the strings to the listBox. Note to add a list of strings in one go we have to
//use AddRange and we have to use the ToArray() method of the list that we are adding
答案 0 :(得分:0)
与大多数编程问题一样,有一百万种方法可以做到这一点。如果您可以控制数据库设计,则可以考虑使用blob或image列来存储列表。您可以利用C#中的序列化并将原始字节填充到该列中。从sql查询的角度来看,这将无法查询列表的详细信息。 关于在启动时加载,你将从列中获取原始字节,反序列化它们并将它们附加到表单的控件上。