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 に答える