c# - Mysql数据库副本供离线使用

标签 c# mysql database

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

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

数据库仅包含 2 个表。

最佳答案

既然您希望它离线而不安装数据库(这将是最简单的),我建议将其存储在 .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),并选择上次同步后修改/添加的所有内容。

关于c# - Mysql数据库副本供离线使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19489472/

相关文章:

c# - 脚本参数和嵌入式 IronPython

c# - Children.Add(item) 值不在预期范围内

c# - 获取数据表中满足特定条件的行数

mysql - 插入大型 xml 时在数据库中设置标志

php - 使用php从mysql表中选择数据时出错

database - 是否有轻量级、可嵌入的键/值数据库? (类似于 diet couchdb)

c# -++后缀和前缀的由来

mysql - Slave的变化是否会出现在Master上(MySQL主从复制)

java - 删除时 SessionFactoryImpl#getReturnTypes 中的空指针异常

mysql - Django 1.4.5 - 无法安装 WorldBorder 模型的索引