c# - 保存和还原DataTable的最佳方法C#

标签 c# winforms visual-studio-2010 crash restore

我已经开发了一个WinForm C#应用程序,现在添加了一个恢复选项,因此如果它意外关闭,则可以在新运行中恢复所有内容。

我设法恢复了几乎所有东西(列表,整数,字符串等)
我面临的唯一问题是还原DataTable。在我的应用程序上运行期间,记录会添加到此DataTable中,最终用户可以将其导出到csv。

我试图将DataTable添加到Properties.Settings.Default ...,但在新运行中不起作用,我始终将其视为Null

任何关于保存和恢复DataTable的最佳方法的建议(记住他们记录的建议)在运行期间可能会超过10-15 k。

谢谢

最佳答案

Properties.Settings可以存储字符串数据,因此您可以序列化DataTable并将其存储。稍后,您可以反序列化字符串以获得DataTable。您可以像这样使用JSON.Net:

var serializedDt = JsonConvert.SerializeObject(dt);
//store the string

找回:
DataTable yourDataTable = JsonConvert.DeserializeObject<DataTable>(serializedDt);

要添加的另一件事是,如果您希望获得大数据,则可以查看将数据存储在客户端数据库中的选项,例如Sqlite

关于c# - 保存和还原DataTable的最佳方法C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28179796/

相关文章:

C++ 和 UTF8 - 为什么不直接替换 ASCII?

visual-studio-2010 - 非命名空间文件夹命名约定

c# - 在不定义新 xmlns 的情况下访问 XAML 命名空间的子命名空间

c# - 为什么当变量在长数据类型范围内时编译器会报错

c# - Linq 加入 3 列表 <T>

.net - sendmessage api 选择组合框控件的特定索引

c# - 如果文本不存在,如何在文本后添加字符串?

c# - 如何使用 EnvDTE 在 vi​​sual studio 中添加指向文件的链接

c# - 无法在 MVC 项目中访问 Web API 2 Controller

vb.net - 如何在应用程序文件夹中为基于 Windows 的应用程序创建卸载命令