#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")