我是VB.net的新手。我有一个小项目,从文本框中保存数据。 (只是简单:创建文本框,将我的名字填入文本框并保存)。
但我不想使用数据库或txtfile,因为如果我这样使用,我会有2个文件:我的app.exe和数据库文件。我不知道是否还有将数据保存到我的app.exe中。只有1个文件app.exe,数据库包含在这个应用程序中(App与excel文件相同:只有1个文件excel,可以填充数据并保存)
答案 0 :(得分:2)
显然你有一个班级Student
(来自你的评论)
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
要绑定到DataGridView
,您可以使用BindingList<Student>
。
然后以JSON格式关闭应用程序时保存。
var data = _yourBindingList.ToList();
var serializedData = Newtonsoft.Json.JsonConvert.SerializeObject(data);
System.IO.File.WriteAllText(@"fileName.anyExtensionYouWant", serializedData);
当应用程序开始从文件加载数据并对其进行反序列化时。
var data = System.IO.File.ReadAllText(@"fileName.anyExtensionYouWant", serializedData);
var loadedStudents = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Student>>(data);
_yourBindingList = new BindingList(loadedStudents);
yourDataGridView.DataSource = _yourBindingList;
答案 1 :(得分:1)
简单的方法是将文本保存为txt文件
My.Computer.FileSystem.WriteAllText
https://msdn.microsoft.com/es-es/library/27t17sxs(v=vs.90).aspx
所以
My.Computer.FileSystem.WriteAllText("C:\TestFolder1\test.txt", "This is new text to be added.", False)
你的案件可以是
My.Computer.FileSystem.WriteAllText("C:\TestFolder1\test.txt", textbox1.text, False)
如果您需要使用MyDocuments或Desktop文件夹,则需要使用相对系统路径