如何将数据保存到应用程序vb.net? (不使用数据库或txt文件)

时间:2017-03-25 11:56:52

标签: vb.net

我是VB.net的新手。我有一个小项目,从文本框中保存数据。 (只是简单:创建文本框,将我的名字填入文本框并保存)。

但我不想使用数据库或txtfile,因为如果我这样使用,我会有2个文件:我的app.exe和数据库文件。我不知道是否还有将数据保存到我的app.exe中。只有1个文件app.exe,数据库包含在这个应用程序中(App与excel文件相同:只有1个文件excel,可以填充数据并保存)

2 个答案:

答案 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文件夹,则需要使用相对系统路径