0

我的应用程序将数据从 mysql 数据库读取到 datagridview,一些用户希望能够拥有离线数据库选项。

在用户不需要运行本地 mysql 服务器的情况下,将 mysql 数据库保存到本地文件/数据库的最佳方法是什么?

该数据库仅包含 2 个表。

4

1 回答 1

1

好吧,因为您希望它在不安装数据库的情况下脱机(这将是最简单的),我建议将其存储在 .xml 文件中。我认为您已经有一段代码可以从数据库中检索数据,因此只需使用该代码并将所有数据存储在一个DataTable或自定义类中,然后使用这种代码保存并加载它

public static void Save(string FileName, object o)
{
    using (var writer = new System.IO.StreamWriter(FileName))
    {
        var serializer = new XmlSerializer(o.GetType());
        serializer.Serialize(writer, o);
        writer.Flush();
    }
}

public static object Load(string FileName, Type t)
{
    using (var stream = System.IO.File.OpenRead(FileName))
    {
        var serializer = new XmlSerializer(t);
        return serializer.Deserialize(stream);
    }
}

假设您要同步数据库,而不是每次可以向表中添加列(例如 DateTimeModified)时都完全选择整个数据库,并选择上次同步后已修改/添加的所有内容。

于 2013-10-21T09:05:07.913 回答