none
Проблема с сохранением базы данных в Visual Studio Ultimate 2013 RRS feed

  • Вопрос

  • Добрый вечер!

    Люди помоги плиззз советом. 

    Установил чистую Windows Server 2012 R2 Standart, SQL Server 2012 и Visual Studio Ultimate 2013.

    Зашел в Visual Studio Ultimate 2013, создал проект Windows Form (C#). Затем слева открыл вкладку Источник Данных -> Добавить новый источник данных -> База данных -> Набор данных -> Создать новое подключение -> Выбрал Файл базы данных Microsoft SQL Server -> Потом выбрал папку ранее созданную локально в папке проекта и в ней создал файл.mdf -> Потом далее пока не закрылось окно (В вопросы на сохранение базы в проекте отвечал ДА)

    После создал таблицу в созданной базе. Вывел её путем перетаскивания из окна Источник данных на форму. Запустил проект. Прописал данные сохранил. Закрыл проект. Проверил то что данные остались в базе данных. ИХ ТАМ НЕТ!

    Выбрал ради прикола опубликовать проект. Опубликовал в папку на рабочем столе. Запустил Setup.exe установил программу. Запустил её. Заполнил данными. Сохранил. Закрыл программу. Заново запустил. И вот ЧУДО! Данные сохранились и отображаются корректно.

    Подскажите пожалуйста как мне сделать так что б данные сохранялись в проекте при запуске из Visual Studio 2013 Ultimate. А то вообще не удобно работать не видя данных в базе.

    ___________________________________________________________________________________________

    PS: А если в проекте создать не локальную базу данных а на SQLServer 2012 то в Visual Studio 2013 Ultimate все сохраняется и показывается при просмотре данных их самой программы.

    24 октября 2014 г. 15:40

Ответы

  • 1. Перепишите программу чтоб не использовалась база данных. Например храните данные в файле (XML, CSV и т.п.). Это неплохой вариант если данных немного.

    2. Перепешите программу для использования так называемой in-process базы данных, например SQL Server CE или SQLite. Компоненты данной базы должны быть установлены вместе с приложением. Бустрапер установщика в VS позволяет установить SQL CE автоматически установкой одногп чекбокса.

    3. Продолжайте использовзать SQL Server. Установщик приложенуя долже будет установивать SQL Server Express 2014 вместе с приложением.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    25 октября 2014 г. 19:39
    Модератор

Все ответы

  • Видимо ваша база которая лежит в локальной папке при каждом build-е проекта заменяется базой из Solution. В Property файла можно выбрать копировать файл или нет.

    [Блог] [Twitter]

    24 октября 2014 г. 17:10
  • Именно так. Данные меняются в копии базы которая перезаписывается на пустой оригинал при каждом запуске приложения из VS. Чтоб этого не происходило можно поменять свойства файла базы выключив его копирование.

    This posting is provided "AS IS" with no warranties, and confers no rights.

    24 октября 2014 г. 18:03
    Модератор
  • Но при создании же просила создать копию подключенную к проекту и вроде как копируется сама...
    25 октября 2014 г. 11:35
  • Будьте добры тогда напишите как мне создать локальную базу так что б работала она без SQL Server. а то программа орентирована на локальную установку и использование на Пк без SQLSERVER

    25 октября 2014 г. 11:43
  • 1. Перепишите программу чтоб не использовалась база данных. Например храните данные в файле (XML, CSV и т.п.). Это неплохой вариант если данных немного.

    2. Перепешите программу для использования так называемой in-process базы данных, например SQL Server CE или SQLite. Компоненты данной базы должны быть установлены вместе с приложением. Бустрапер установщика в VS позволяет установить SQL CE автоматически установкой одногп чекбокса.

    3. Продолжайте использовзать SQL Server. Установщик приложенуя долже будет установивать SQL Server Express 2014 вместе с приложением.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    25 октября 2014 г. 19:39
    Модератор
  • Спасибо Илья. 3 вариант мне по душе. Но вот что то не просит установить SQL Server Express 2014 вместе с приложением.
    26 октября 2014 г. 14:40
  • Конечно не просит, для этого надо сначала написать код который это будет делать.

    См. например тут:

    http://blogs.msdn.com/b/user_ed/archive/2012/12/09/how-to-embed-sql-server-express-in-an-application.aspx


    This posting is provided "AS IS" with no warranties, and confers no rights.

    26 октября 2014 г. 18:05
    Модератор
  • Благодарю за ответ Илья... Буду искать код на C# тк  самаучка в этом я
    26 октября 2014 г. 19:10