Mysql数据库副本供离线使用

时间:2013-10-21 08:27:04

标签: c# mysql database

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

将mysql数据库保存到本地文件/数据库的最佳方法是什么,而无需用户运行本地mysql服务器。

数据库只包含2个表。

1 个答案:

答案 0 :(得分: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,并选择在上次同步后修改/添加的所有内容。