@Vladdden

Как офлайн хранить данные из БД в приложении Win Forms?

Имеется приложение на Win Forms, в котором идет запрос к БД и вывод содержимого таблиц через DataGridView.
private void buttonOK_Click(object sender, EventArgs e)
        {
            if (СomboBoxTables.SelectedItem == null) return;
            adapter = new SqlDataAdapter("SELECT * FROM [" + СomboBoxTables.SelectedItem.ToString() + "]", conn);
            new SqlCommandBuilder(adapter);
            dtMain = new DataTable();
            adapter.Fill(dtMain);
            DataGridView1.DataSource = dtMain;
        }

Необходимо сделать так, чтобы данные были доступны в конечном .exe-файле вне зависимости от локального подключения компьютера (чтобы программа была автономна и хранила в себе данные с момента последнего коннекта к БД). Предполагаю экспортировать БД в единый sql-запрос, а дальше скриптом считывать построчно этот файл и заносить данные в БД.
  • Вопрос задан
  • 251 просмотр
Решения вопроса 3
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
в exe ни как. если только сохранять в отдельный файл - json, csv, xml.. на самом деле много вариантов, хоть свой формат запилить
или в легковесную встраиваемую БД

ps популярные варианты - SQLite, MS SQLCE, LiteDB.. на самом деле много вариантов
pps даже Access - прикол в том что первичен уже давно не сам Access, а движок. он встроен в любую винду по дефолту. очень много поколений
ppps
а как "скопировать" эти самые "куски" из общей базы архива - я не знаю.
таки смотрите сюда (если конечно у вас MS SQL, о чем можно предположить по разнообразным отрывкам)
https://docs.microsoft.com/en-us/sql/integration-s...
https://docs.microsoft.com/ru-ru/sql/integration-s...
а еще оч даже на ура можно использовать LINQpad для этих же целей
Ответ написан
tsklab
@tsklab
Здесь отвечаю на вопросы.
Мы же с вами уже обсуждали, как быстро переносить файл MDF (MS SQL) с компьютера на компьютер. Установите, например, LocalDB вместе с программой и переносите файл. Или переносите часть данных.
Если вы хотите хранить данные в другом формате, используйте экспорт/импорт.
Ответ написан
gbg
@gbg
Любые ответы на любые вопросы
Я вам предлагаю (настойчиво) не заниматься строительством лисапедов. Такие программы известны в отрасли уже давно.

Работают они так - программа ставит вместе с собой нужный сервер SQL, потом заливает в него нужную базу - и бегом.

Писать отдельный код, который будет, по сути, кривой, плохо оттестированной и отлаженной реализацией SQLite - это самое плохое решение.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы