2013-04-04 3 views
0

У меня возникла проблема с использованием Visual Studio 2010. Я использую базу данных на основе сервисов (.mdf). Проблема в том, что я могу получить информацию из базы данных, но я не могу вставить информацию в базу данных.Может быть прочитано из базы данных, но не вставить

Когда я добавляю информацию в базу данных, это влияет на строки, но когда я открываю таблицу в Visual Studios Server Explorer, ничего не изменилось.

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

Есть ли какие-либо настройки, которые мне нужно изменить?

+2

Я считаю, что, когда это произойдет, вы, как правило, смотрит в неправильное место. Посмотрите на свою строку подключения и убедитесь, что вы проверяете данные там, а не где-то еще. –

ответ

4

Возможно, вы используете AttachDbFileName=...... в строке подключения - верный?

Весь Пользовательский пример и AttachDbFileName = Недостаток подхода - в лучшем случае! При запуске вашего приложения в Visual Studio он будет копировать файл .mdf (из вашего каталога App_Data в выходной каталог - обычно .\bin\debug - где вы запускаете приложение) и , скорее всего,, ваш INSERT работает нормально - но вы просто глядя на неправильный файл .mdf в конце!

Если вы хотите придерживаться такого подхода, попробуйте положить точку останова на вызов myConnection.Close(), а затем проверить файл .mdf с помощью SQL Server Mgmt Studio Express. Я почти уверен, что ваши данные есть.

реальное решение на мой взгляд, было бы

  1. установки SQL Server Express (и вы уже сделали это в любом случае)

  2. установки SQL Server Management Studio Express

  3. Создайте свою базу данных в SSMS Express, введите логическое имя (например, YourDatabase)

  4. подключиться к нему с помощью своего логического базы данных (данный при создании на сервере) - и не вмешиваться в работу с файлами физической базы данных и пользовательскими экземплярами. В этом случае строка подключения будет что-то вроде:

    Data Source=.\\SQLEXPRESS;Database=YourDatabase;Integrated Security=True 
    

    и все остальное точно же, как раньше ...

Смежные вопросы