как сохранить копию данных набора данных, чтобы использовать ее даже после закрытия программы vb.net

#vb.net #dataset

Вопрос:

У меня есть проект, который я сделал в vb.net, Я подключаюсь к базе данных MySQL.

все в порядке, но у меня есть идея, которую я хочу применить.

идея в том, что я хочу сохранить копию некоторых таблиц внутри элемента набора данных, так как же сохранить эти данные и использовать их даже после закрытия приложения??

другими словами, я хочу сохранить автономную копию данных, чтобы использовать ее вместо подключения к серверу MySQL.

Спасибо

Комментарии:

1. Используйте встроенную базу данных, такую как SQLite или LiteDB, для кэширования.

2. @Martheen не могли бы вы, пожалуйста, объяснить подробнее или дать мне какие-либо ссылки, чтобы объяснить это

3. Создайте дополнительный источник данных, указывающий на вашу встроенную базу данных. При запуске проверьте, обновлена ли встроенная база данных (только вы знаете, какая логика вам нужна), если нет запроса из MySQL, затем сохраните их во встроенной базе данных. После этого просто взаимодействуйте со встроенной базой данных вместо MySQL.

4. В зависимости от объема имеющихся данных и того, как вы хотите их использовать, самым простым вариантом может быть обращение WriteXml к DataSet одному или нескольким лицам DataTables , находящимся в нем. Затем вы можете позвонить ReadXml , чтобы загрузить данные обратно в приложение из XML-файлов.

5. Если база данных локальная, просто извлеките ее снова. Если он не локальный, разве вам не нужны свежие данные между сеансами?

Ответ №1:

Сначала вызовите .Clear() любые таблицы с данными, которые вы не хотите хранить

 yourDataSet.SomeTable.Clear();
 

Если у вас есть определенные отношения, сначала очистите детей

Затем в рамках, например, вашего события закрытия формы вызовите WriteXml

 yourDataSet.WriteXml("data.xml")
 

В рамках какого-либо события при запуске, такого как загрузка формы, вызовите ReadXml

 If File.Exists("data.xml") Then yourDataSet.ReadXml("data.xml")